sql >> Databáze >  >> RDS >> Mysql

jak vytvořit řetězec oddělený čárkou z pole výsledků dotazu v php codeigniter

explode a implode fungují podle očekávání. První se používá k rozdělení řetězce a vrácení pole s kousky, např.

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

To je důvod, proč získáte toto:Pole ( [0] => Pole ( [0] => Stélka Premium Shore 30 ) [1] => Pole ( [0] => G Diabetic Premium uzavřené sandály černé velikosti 09)), když vytisknout $prdtarray (echo print_r($prdtarray); ). Pokaždé, když zavoláte $prdtarray[] = explode(",", $row1->product_name); vytváříte nové pole s jedním prvkem (pouze jeden prvek, protože $row1->product_name neobsahuje žádné ",") a přidá jej do $prdtarray .

implode se používá ke spojení prvků pole s řetězcem, např.

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

echo $comma_separated; // lastname,email,phone

Ve vašem kódu, protože uvnitř $prdtarray máte dvě pole výsledek $product je

 Array,Array

Můžete tedy uložit $row1->product_name hodnotu v poli a poté použijte implode k vytvoření výsledku hodnot oddělených čárkami. Kód vypadá takto:

$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. PostgreSQL - zaokrouhlování čísel s pohyblivou řádovou čárkou

  2. Získání cesty MySQL v příkazovém řádku

  3. Při přihlášení skrýt přihlašovací odkaz

  4. Počítání řádků pro všechny tabulky najednou