sql >> Database >  >> RDS >> Mysql

hoe een door komma's gescheiden tekenreeks te maken van een reeks queryresultaten in php codeigniter

explode en implode werken zoals verwacht. De eerste wordt gebruikt om een ​​string te splitsen en een array terug te geven met de stukken, bijvoorbeeld

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

Daarom krijg je dit:Array ( [0] => Array ( [0] => Insole Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium gesloten Sandaal Zwart maat 09 ) ) wanneer je print $prdtarray (echo print_r($prdtarray); ). Elke keer dat je $prdtarray[] = explode(",", $row1->product_name); aanroept je maakt een nieuwe array met één element (slechts één element omdat $row1->product_name bevat geen ",") en voeg het toe aan $prdtarray .

implode wordt gebruikt om array-elementen samen te voegen met een tekenreeks, bijvoorbeeld

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

echo $comma_separated; // lastname,email,phone

In je code omdat je twee arrays hebt binnen $prdtarray het resultaat van $product is

 Array,Array

U kunt dus de $row1->product_name . opslaan waarde in een array en gebruik vervolgens implode om een ​​door komma's gescheiden resultaat te creëren. De code ziet er als volgt uit:

$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. Array-waarden opslaan als geheel getal

  2. Kon bestand of assembly 'MySql.Data, Version=6.3.6.0' niet laden

  3. toon laatste reactie die slechts 1 reactie per gebruiker

  4. MySQL DROP DATABASE Privilege?