Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 30. 3. 2013, 16:36:49
Dobrý den.. Mám výpis z db her...
<select name="games" class="form" id="jazyk"> <?php $game = DB::query("SELECT * FROM [youtube_games] ORDER BY name")->fetchAll(); foreach ($game as $n => $game_echo) { echo "<option value=\"".$game_echo->name."\">".$game_echo->name."</option>"; } ?> </select> Prosím o jakékoliv rady.. předem děkuji.. |
||
jenikkozak Profil |
#2 · Zasláno: 30. 3. 2013, 16:38:58
To se ptáš, jak udělat podmínku?
|
||
Fisak Profil |
#3 · Zasláno: 30. 3. 2013, 16:41:19 · Upravil/a: Fisak
jenikkozak:
ne jde mi o ten dotaz na db jak zjistit jestli obsahuje $ech_ch->name nějakou z vypisovaných her.. vím že se to dělá pomocí LIKE ale bohužel nevím jak.. udělat dotaz tak aby mi to vypisovalo "ano obsahuje" x "ne neobsahuje" a pak už podmínky k tomu selected zvládnu sám :-) |
||
Tori Profil |
Fisak:
„jestli obsahuje $ech_ch->name nějakou z vypisovaných her“ Spíš opačně, ne? Jestli nějaká z vypisovaných her rovná se $ech_ch->name (ať už je to cokoli).
Když nepoužíváte jiná data z DB než name, tak je zbytečné tahat všechny sloupce. Buď můžete vytáhnout všechna data do jednorozměr.pole, pak např. pomocí in_array zjistit, jestli obsahuje hodnotu $ech_ch->name , a pak vypisovat a podle toho zjištění zvýraznit kterou položku chcete.
Anebo by snad šlo použít poddotaz, ale zkontrolujte si EXPLAINem, jestli se fakt provádí jen jednou za dotaz nebo jednou pro každý řádek výsledku (mělo by to být OK, ale nejsem teď úplně jistá). Kdybyste přidával stránkování, musí se doplnit i do poddotazu. dibi::query("SELECT (SELECT COUNT(*) FROM [youtube_games] WHERE [name] = %s) AS 'existuje', [name] FROM [youtube_games] ORDER BY [name]", $ech_ch->name)->fetchAll(); |
||
Časová prodleva: 11 let
|
0