Autor Zpráva
rad
Profil *
potreboval bych nejak spojit vysledek z databaze. to znamena ze bych do selectu vzdy chtel dodat vsechny hodnoty vedle sebe z druheho dotazu pak se vratit k prvnimu a to opakovat zatim se mi to zobrazuje za sebou - opravdu si nevim rady s resenim tohoto - kdyz potrebuju nejak spojit vysledek a pak ho zobrazit.
<?php   
     
$db->query("SELECT stock_option1, stock_option2, stock_option3 FROM stock WHERE produit_id_stock=1;");
$i=1;
while($user = $db->fetch_assoc())
{
  
$opt1=$user['stock_option1']; 
$opt2=$user['stock_option2'];
$opt3=$user['stock_option3'];



$db2 = new database(); 

if (($opt1+$opt2+$opt3)>0)
{
$db2->query("SELECT id_option_option,option_option_description FROM option_option WHERE option_option.id_option_option='$opt1' OR option_option.id_option_option='$opt2' OR option_option.id_option_option='$opt3';") ;

while ($user2 = $db2->fetch_assoc())

{
  
echo "\n<option value=\"".($user2['id_option_option'])."\">".($user2['option_option_description'])."</option>\n";


}

}

}
;
echo '</select>'; 
Tori
Profil
A budete tenhle pár dotazů opakovat pro každý produkt, anebo se použije jen jednou? Pokud vypisujete třeba 50 produktů na stránku a ke každému se má zobrazit seznam tagů či čeho, tak by se už možná víc oplatilo načíst jedním dotazem všechny produkty + popisy k nim, a druhým dotazem všechny tagy, použité v rámci celé stránky. Anebo taky možná ne, záleží na objemu dat - koukněte na tento článek od p.Vrány.

Šlo by použít i tohle, ale jestli to je výpis dodatečných informací k x produktům, bude asi lepší konstantní počet dotazů do db.
SELECT id_option_option id, option_option_description FROM option_option o INNER JOIN
  ( (SELECT stock_option1 id FROM stock WHERE produit_id_stock=1) UNION 
  (SELECT stock_option2 id FROM stock WHERE produit_id_stock=1) UNION 
  (SELECT stock_option3 id FROM stock WHERE produit_id_stock=1) ) s 
  ON o.id = s.id

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0