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

come creare una stringa separata da virgole da una matrice di risultati di query in php codeigniter

explode e implode funzionano come previsto. Il primo viene utilizzato per dividere una stringa e restituire un array con i pezzi, ad es.

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

Ecco perché ottieni questo:Array ( [0] => Array ( [0] => Sottopiede Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium sandalo chiuso nero taglia 09 ) ) quando print $prdtarray (echo print_r($prdtarray); ). Ogni volta che chiami $prdtarray[] = explode(",", $row1->product_name); stai creando un nuovo array con un elemento (solo un elemento perché $row1->product_name non contiene ",") e aggiungendolo a $prdtarray .

implode viene utilizzato per unire elementi dell'array con una stringa, ad es.

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

echo $comma_separated; // lastname,email,phone

Nel tuo codice poiché hai due array all'interno di $prdtarray il risultato di $product è

 Array,Array

Quindi, puoi salvare il $row1->product_name valore in un array e quindi utilizzare implode per creare un risultato con valori separati da virgole. Il codice è simile a questo:

$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