Autor | Zpráva | ||
---|---|---|---|
123456 Profil * |
#1 · Zasláno: 5. 12. 2012, 08:23:28
Pekny den zaujima ma ako odporucate nacitavat udaje z mysql db?
je dobre pri kazdom nacitani pouzivat $query = mysql_query("SELECT * FROM table"); $result = mysql_fetch_array($query); $meno = $result['meno'] $priezvysko = $result['priezvysko']; |
||
ra100 Profil * |
#2 · Zasláno: 5. 12. 2012, 13:01:29 · Upravil/a: ra100
123456:
...ak nepotrebuješ špeciálne čerpať dáta pri každom poźiadavku z db, postačí ti vytvorenie poľa, napr - vytvoríš si premennú array - $user_id načítaním id užívaťeľa
$query = mysql_query("SELECT * FROM table"); while($user_=mysqli_fetch_assoc($query)) { $user_id[] = (int)$user['id']; $user_array[intval($user_id['id'])] = array('id' => $user['id'], 'user_name' => $user['user_name'], 'user_sec_name' => $user['user_sec_name' ] ,.....); } $user_id[] $user_array[] foreach ...malá oprava - $user_array[intval($user['id'])] = array('id' => $user['id'],... |
||
123456 Profil * |
#3 · Zasláno: 5. 12. 2012, 13:17:20
Nieje rozdiel medzi MySQL a MySQLi?
Inak jednoduchšie to neexistuje? Kedysi som videl že ak mám v MySQL stlpce |___id___|___meno___|___priezvysko___| | 5 | Adam | Hraško | | 6 | Eva | Mrkvičková | __________________________________| tak mi stačila iba 1 premenná a v nej číslo, kolky stlpcek sa nacita.. $premenna[1] = ID (5) $premenna[2] = Meno (Adam) $premenna[3] = Meno (Hraško) takto nejako |
||
ra100 Profil * |
#4 · Zasláno: 5. 12. 2012, 13:38:10 · Upravil/a: ra100
123456:
...alebo echo $user_array[5]['user_name']; echo $user_array[5]['priezvysko']; ra100: -Nieje rozdiel medzi MySQL a MySQLi?- . ano, je. trochu som bol nepozorný, no rozdiely snáď budeš vedieť iterpretovať 123456: $query = mysql_query("SELECT id, meno, priezvisko FROM table"); while($user_=mysql_fetch_assoc($query)) { $user_id[] = (int)$user['id']; $user_array[intval($user_id['id'])] = array('id' => $user['id'], 'meno' => $user['nemo'], 'priezvisko' => $user['priezvisko' ]); } |
||
Tori Profil |
#5 · Zasláno: 5. 12. 2012, 23:47:27
123456:
„je dobre pri kazdom nacitani pouzivat ...“ Jak přesně to myslíte: 1. jestli je v pořádku pokaždé načítat celou tabulku ( SELECT * )?
- Pokud potřebujete celou tabulku, tak ano. Jinak upravte dotaz tak, aby vracel jen ty sloupce a řádky, s kterými chcete pracovat. 2. anebo jestli pokud potřebujete data na dvou místech ve skriptu, tak jestli máte pokaždé provádět dotaz na DB? - Ne, dotaz provést jednou, data uložit do nějaké proměnné (pole) a pak pracovat jen s tou proměnnou. Důvodem je v obou případech rychlost a úspornost, tedy aby se mezi databázovým a webovým serverem zbytečně nepřenášela data, které skript nepotřebuje / nepoužije. Jinak řádky 3+4 (v [#1]) mi připadají zbytečné, můžete přece rovnou pracovat s polem $result. „Kedysi som videl že ak mám v MySQL stlpce, tak mi stačila iba 1 premenná a v nej číslo, kolky stlpcek sa nacita.“ Asi jste místo mysql_fetch_assoc použil mysql_fetch_row. Osobně mám raději asoc.pole - v případě že přidám nový sloupec do tabulky (někam jinam než za poslední sloupec), tak nemusím opravovat všechny dotazy. Na druhou stranu jsem tuším někde viděla, že mysql_fetch_row by mělo být (o něco velmi málo) rychlejší než _fetch_assoc. |
||
Časová prodleva: 11 let
|
0