Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erstellen Sie eine durch Kommas getrennte Zeichenfolge aus einem Array von Abfrageergebnissen in PHP-Codeigniter

explode und implode funktionieren wie erwartet. Die erste wird verwendet, um einen String zu teilen und ein Array mit den Teilen zurückzugeben, z. B.

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

Deshalb bekommst du das:Array ( [0] => Array ( [0] => Einlegesohle Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium geschlossene Sandale Schwarz Größe 09 ) ) bei dir print $prdtarray (echo print_r($prdtarray); ). Jedes Mal, wenn Sie $prdtarray[] = explode(",", $row1->product_name); aufrufen Sie erstellen ein neues Array mit einem Element (nur ein Element, weil $row1->product_name enthält kein ",") und fügt es zu $prdtarray hinzu .

implode wird verwendet, um Array-Elemente mit einem String zu verbinden, z. B.

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

echo $comma_separated; // lastname,email,phone

In Ihrem Code, da Sie zwei Arrays innerhalb von $prdtarray haben das Ergebnis von $product ist

 Array,Array

Sie können also den $row1->product_name speichern Wert in einem Array und verwenden Sie dann implode um ein Ergebnis mit kommagetrennten Werten zu erstellen. Der Code sieht so aus:

$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