Autor Zpráva
123456
Profil *
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'];
alebo existuje aj jednoduchsi sposob?
ra100
Profil *
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' ]
                                                               ,.....);
}
...na rozbalenie premenných
$user_id[]
a
$user_array[]
použiješ cyklus
foreach



...malá oprava -
$user_array[intval($user['id'])] = array('id' => $user['id'],...
123456
Profil *
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 *
123456:
...alebo
echo $user_array[5]['user_name'];
--- Adam
echo $user_array[5]['priezvysko'];
--- Hraško


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
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.

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