Autor Zpráva
hondziiikh
Profil *
Dobrý den, ahoj :)
Mám tady věcičku, která mi prostě nefunguje. Pokusím se nastřelit smyšlenou situaci :) vypadá to možná složitě ale výsledek je jen pár řádků :) mám např 4 tabulky v DB, jedna je db_users db_polozky druhá db_skupiny a třetí db_vybrane_polozky které obsahují:

db_users
id|jmeno|login
312|Jiří Kuřák|george
544|Pavel Novák|pavel007

db_polozky
id|skupina|nazev|popis
32242|1|oko|hnědé oko
343455|1|noha|noha 34
8481|1|pupík|průměr 12mm
6518618|2|mozek|IQ kapacita 200
844848|2|tepna1|tvrzený materiál
98454|2|tepna2|cizácká
85181|3|krev|cizácká
5181|3|myšlenka|jíst krávu
5181811|1|malíček|se šroubovákem

db_skupiny
id|nazev
1|části těla
2|vnitřnosti
3|bonusy do vnitřností

db_vybrane_polozky
id|user|polozka|pocet
1|544|6518618|7
2|544|32242|3
3|114|85181|2
4|544|98454

a mě jde o výsledek z tabulky db_vybrane_polozky u přihlášeného usera např 44|Pavel Novák|pavel007 z tabulky db_vybrane_polozky.. Mám kód:
$SQL = MySQL_Query("SELECT * FROM db_vybrane_polozky WHERE (user LIKE '$user')");
while(is_array($vypis = mysql_fetch_array($SQL)))
{ 
$id = $vypis['id'];
$polozka = $vypis['polozka'];
$pocet = $vypis['pocet'];
echo "položka: ".$polozka." vybraná ".$pocet."krát<br />";}}  

a výsledek je:
položka: 6518618 vybraná 7krát
položka: 32242 vybraná 3krát
položka: 98454 vybraná 2krát

Tak až sem vím :) ale teď potřebuju, aby mi to místo čísla položky psalo název. Takže např místo 6518615 by bylo oko
Co napadlo mě je tato krkolomnost, ale to jaksi nejede :)
$SQL = MySQL_Query("SELECT * FROM db_vybrane_polozky WHERE (user LIKE '$user')");
while(is_array($vypis = mysql_fetch_array($SQL)))
{ 
$id = $vypis['id'];
$polozka = $vypis['polozka'];
$pocet = $vypis['pocet'];
$pojmenovat = MySQL_Query("SELECT * FROM db_polozky WHERE id = $id");
$scr = mysql_fetch_array($pojmenovat);
$idpolozky = $scr['id'];
$nazev = $scr['nazev'];
echo "položka: ".$nazev." vybraná ".$pocet."krát<br />";}}  


Nějaké nápady prosím? :)
hondziiikh
Profil *
odpovím si sám, to co jsem napsal funguje, jen jsem našel chybu, kde místo WHERE id= $id ma byt id=$polozka
špatně:
$pojmenovat = MySQL_Query("SELECT * FROM db_polozky WHERE id = $id");

dobře:
$pojmenovat = MySQL_Query("SELECT * FROM db_polozky WHERE id = $polozka");

A teď už to funguje :)
js
Profil *
spouštět dotaz na databázi uvnitř cyklnu není nejlepší řešení ... tomu by ses měl vyhnout

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0