Sadu2
31.03.2008, 11:51:07
Witam,
Mam tabele:
prezenty
p_id, p_nazwa
11, maskotka
21, samochod
oraz
goscie
g_id, g_prezent, g_osoba
9, 11, jasio
No i problem polega w tym, że na stronie pojawia mi sie, że jasio dostał samochód a nie maskotkę. Sprawdzałem w tabelach, nie powtarzają się dwa razy te same rekordy, a zawsze jak usunę i dodam do tabeli:
9,11,jasio
to na stronie widzę, że jasio dostał samochód, a przecież do jasia przypisana jest maskotka.
Dziwna sprawa, jeszcze się z takim czymś nie spotkałem. Co może być nie tak?
nospor
31.03.2008, 11:54:07
Moze powodem jest wybuch dziury nr5 na sloncu?
A na powaznie: pokaz zapytanie ktorym dane pobierasz. Takie starego bywalca trzeba jeszcze oto upominac?
Sadu2
31.03.2008, 12:09:28
Przepraszam, zapomniałem o zapytaniu:
$query = "SELECT * FROM goscie WHERE g_osoba = jasio";
$result = mysql_query($query) OR die(mysql_error());
$db = mysql_fetch_array($result);
$select = mysql_query("SELECT * FROM prezenty WHERE p_id = '$db[g_prezent]'") OR die(mysql_error());
$db2 = mysql_fetch_array($select);
<?php
echo $db[g_osoba
]." otrzymał ".$db2[p_nazwa
]; ?>
Krzycz, bij, wrzucaj ... jak coś tu jest źle.
EDIT:
Dobre jest, bo jeśli przypisze jasiowi 21 (czyli samochód) to wyświetla sie maskotka.
nospor
31.03.2008, 12:13:13
Cytat
Krzycz, bij, wrzucaj ...
Nie zachecaj....

1)
to ci wogole dziala:
...WHERE g_osoba = jasio
?
Zapomniales przeciez o ciapkach:
WHERE g_osoba = 'jasio'
. Tekst nalezy brac w ciapki inaczej powinien poleciec blad zapytania.
2) wyswietlaj sobie na kazdym kroku co ci dana rzecz zwraca (zapytanie, wynik zapytania)
3) Te dane mozna pobrac jednym zapytaniem. uzyj left join
Sadu2
31.03.2008, 12:16:09
Tak działa bez ciapek. Właśnie jeszcze nie doszedłem, jak to można zrobić za pomocą left join, ale już zasiadam do manuala.