Autor Zpráva
jrm
Profil
Jak mám docílit toho, aby výsledek výběru z dB byl ve stejném pořadí jako v seznamu v závorce za in?

$sql = "
select CENIK_CENA_D0
from Cenik
where CENIK_TYP in (
'EI5721.43',
'EI5956.610',
'EI5971.20',
'EI5531.21'
)";

$result = mysql_query($sql) or die("Error: Příkaz <b>$sql</b> nelze provést !");

$zaznam = mysql_fetch_array($result);
$ckccpu21 = $zaznam['CENIK_CENA_D0'];

$zaznam = mysql_fetch_array($result);
$ckeai = $zaznam['CENIK_CENA_D0'];

$zaznam = mysql_fetch_array($result);
$ckebi = $zaznam['CENIK_CENA_D0'];

$zaznam = mysql_fetch_array($result);
$cksbi = $zaznam['CENIK_CENA_D0'];

echo "<br>$ckccpu21 / $ckeai / $ckebi / $cksbi<br>";


Nynější pořadí odpovídá pořadí položek v databázi, což jsem sice očekával, ale potřebuji pořadí holt podle "seznamu" v SQL dotazu.
Poradíte amatérovi?
Kajman_
Profil *
select CENIK_CENA_D0
from Cenik
where CENIK_TYP in (
'EI5721.43',
'EI5956.610',
'EI5971.20',
'EI5531.21'
)
order by field(cenik_typ,
'EI5721.43',
'EI5956.610',
'EI5971.20',
'EI5531.21')
Kajman_
Profil *
Ale spíš bych to udělal jinak.... protože, když se to nenajde, tak to pořadí nebude, jak předpokládáte.
$sql = "
select , CENIK_TYP, CENIK_CENA_D0
from Cenik
where CENIK_TYP in (
'EI5721.43',
'EI5956.610',
'EI5971.20',
'EI5531.21'
)";

$result = mysql_query($sql) or die("Error: Příkaz <b>$sql</b> nelze provést !");

$polozky=array();
while($zaznam = mysql_fetch_array($result))
{
$polozky[$zanam['CENIK_TYP']] = $zaznam['CENIK_CENA_D0'];
}

echo "<br>$polozky[EI5721.43] / $polozky[EI5956.610] / $polozky[EI5971.20] / $polozky[EI5531.21]<br>";
jrm
Profil
Dík - ten první příklad je funkční a vyhovuje mi. Stejně musím všechny potřebné položky zkontrolovat, chybět nic nebude.
Snažím se navázat ceny výrobků z dB na starší skripty - kalkulační tabulky, ve kterých jsem měl ceny jednotlivých výrobků napevno v proměnných. Abych nemusel předělávat kalkulační tabulky, musím dostat údaje z dB do původních proměnných skriptu. Proměnných je cca 40, podle druhého příkladu bych musel toho moc podmínkovat.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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