Autor | Zpráva | ||
---|---|---|---|
jrm Profil |
#1 · Zasláno: 7. 3. 2009, 11:34:13
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 * |
#2 · Zasláno: 7. 3. 2009, 11:41:12
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 * |
#3 · Zasláno: 7. 3. 2009, 11:48:34
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 |
#4 · Zasláno: 7. 3. 2009, 12:02:56
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. |
||
Časová prodleva: 15 let
|
0