sql >> Databasteknik >  >> RDS >> Mysql

hur man skapar en kommaseparerad sträng från en rad frågeresultat i php codeigniter

explode och implode fungerar som förväntat. Den första används för att dela en sträng och returnera en array med bitarna, t.ex.

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

Det är därför du får detta:Array ( [0] => Array ( [0] => Insole Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium closed Sandal Black storlek 09 ) ) när du skriv ut $prdtarray (echo print_r($prdtarray); ). Varje gång du anropar $prdtarray[] = explode(",", $row1->product_name); du skapar en ny array med ett element (endast ett element eftersom $row1->product_name innehåller inget ","") och lägger till det i $prdtarray .

implode används för att sammanfoga arrayelement med en sträng, t.ex.

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

echo $comma_separated; // lastname,email,phone

I din kod eftersom du har två arrayer inuti $prdtarray resultatet av $product är

 Array,Array

Så du kan spara $row1->product_name värde i en array och använd sedan implode för att skapa ett kommaseparerat värderesultat. Koden ser ut så här:

$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. pg_upgrade på Windows kan inte skriva till loggfilen pg_upgrade_internal.log

  2. Hur man visar en bild från en mysql blob

  3. Hur ersätter man alla förekomster av char med element från array?

  4. 4 sätt att skydda känslig information från dina kunder