sql >> Database teknologi >  >> RDS >> Mysql

hvordan man opretter en kommasepareret streng fra en række forespørgselsresultater i php codeigniter

explode og implode fungerer som forventet. Den første bruges til at splitte en streng og returnere et array med brikkerne, f.eks.

 $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
 $pieces = explode(" ", $pizza);
 echo $pieces[0]; // piece1
 echo $pieces[1]; // piece2

Derfor får du dette:Array ( [0] => Array ( [0] => Insole Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium closed Sandal Black str. 09 ) ), når du udskriv $prdtarray (echo print_r($prdtarray); ). Hver gang du kalder $prdtarray[] = explode(",", $row1->product_name); du opretter et nyt array med ét element (kun ét element, fordi $row1->product_name indeholder ikke noget ","") og tilføjer det til $prdtarray .

implode bruges til at forbinde array-elementer med en streng, f.eks.

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

I din kode, da du har to arrays inde i $prdtarray resultatet af $product er

 Array,Array

Så du kan gemme $row1->product_name værdi i et array, og brug derefter implode for at skabe et kommasepareret værdiresultat. Koden ser sådan ud:

$this->db->select("product_name")
->from('sale_items')
->where('sale_items.sale_id',4221);
$q1 = $this->db->get();
if ($q1->num_rows() > 0) {
 foreach (($q1->result()) as $row1) {
$prdtarray[] = $row1->product_name;
}
$product=implode(',',$prdtarray); 
echo $product ; // Insole Premium Shore 30,G Diabetic Premium closed Sandal Black size 09


  1. JSONB Array-opdatering til specifikt element

  2. hvordan indsætter man en enorm fil i BLOB (Oracle) uden at indlæse hele filen i hukommelsen?

  3. Hvordan kontrolleres ydeevnen af ​​mysql-forespørgslen?

  4. Oracle trunkeringssøjle