zerosix
12.07.2010, 07:48:03
Witam,
borykam się z pewnym problemem.Otóż mam dwie tabelki:
comment : id,addid,text,user,data i pierwszafaza:id,nazwa,kwadrat,user,male,data
Próbuje pobrać całą tabele comment dorzucajac z tabeli pierwszafaza kwadrat.Probowalem w tej sposob ale wywala blad zlego zapytania. Probowalem tak:
<?php
include_once('db.php');
$wynik = mysql_query("SELECT id,addid,user,kwadrat FROM comment LEFT JOIN pierwszafaza ON comment.addid = pierwszafaza.id ORDER BY DESC LIMIT 12");
echo "<table width='100%' border='0' cellspacing='2' cellpadding='0'><tr><td width='60'>"; $i=1;
$rkwadrat = $r['kwadrat'];
$rtext = $r['text'];
$rid = $r['id'];
#ruser= $r['user'];
echo "<table width='100%' border='0' cellspacing='2' cellpadding='0'><tr><td width='60'> <div align='center' class='randthumb2' style='float: right;'>
<a href='index.php?id=.$rid.'><img src='foto/kwadrat/$rkwadrat' border='1' /></a></div></td><td>
<div align='left' style='padding-left: 5px;'>$rtext<br>
<span class='style2'>Dodane przez.$ruser.</span></div></td></tr></table>
";
}
++$i;
}
$rest = 4-$i%4;
for($i=1;$i<=$rest;++$i)
{
}
echo "</tr></table></div>";
?>
Podsunie ktos cos?
deLL
12.07.2010, 08:54:10
Jaki błąd?
Spr.
Kod
SELECT * FROM `comment` LEFT JOIN `pierwszafaza` ON `comment.addid` = `pierwszafaza.id` ORDER BY DESC LIMIT 12
zerosix
12.07.2010, 09:13:53
niestety dalej to samo
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\galery\1234.php on line 4
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\galery\1234.php on line 9
wookieb
12.07.2010, 09:17:54
Wrzuć zapytańie do phpmyadmina i podaj komunikat błędu. ZReszta kurde podstawy.
Temat: Jak poprawnie zadac pytanie
zerosix
12.07.2010, 09:28:27
MySQL zwrócił komunikat: Dokumentacja
#1064 - Something is wrong in your syntax obok 'DESC LIMIT 12' w linii 1
wookieb
12.07.2010, 09:29:22
No to po order BY zazwyczaj podaje sie nazwe kolumny po której się sortuje.
zerosix
12.07.2010, 09:32:56
dodałem i nic..wcześniej nawet całkiem usunałem to chyba nie to..
wookieb
12.07.2010, 09:33:46
No to pokaż co dodałeś.
Wrzuć wtedy to zapytanie ponownie do phpmyadmina i czekamy na komunikat błędu.
zerosix
12.07.2010, 09:58:43
MySQL zwrócił komunikat: Dokumentacja
#1054 - Nieznana kolumna 'comment.addid' w on clause
jak to mozliwe skoro kolumna istnieje?sprawdzalem 20 razy?
wookieb
12.07.2010, 10:01:28
Upewnij się jeszcze raz.
Sprawdź czy nazwa tego pola nie jest podana w ``
I NIE PODAŁEŚ ZAPYTANIA!
zerosix
12.07.2010, 10:18:00
SELECT * FROM `comment` LEFT JOIN `pierwszafaza` ON `comment.addid` = `pierwszafaza.id` ORDER BY `data` DESC LIMIT 12
MySQL zwrócił komunikat: Dokumentacja
#1054 - Nieznana kolumna 'comment.addid' w on clause
kurde sprawdzalem juz 1000 razy....
erix
12.07.2010, 10:20:00
`comment.addid`
MySQL traktuje to jako nazwę pola, a nie tabela.pole. Zwróć większą uwagę na to, jak znaki akcentu wstawiłeś.
zerosix
12.07.2010, 10:24:32
zrobilem to dokladnie tak jak podpowiadal kolega powyzej...
jak sprawic aby mysql interpretowal to poprawnie?
wookieb
12.07.2010, 10:25:14
Wywalic te znaki
zerosix
12.07.2010, 10:35:49
ok dziala dzieki i sory za klopot
wybaczcie ale mam jeszcze jedno pytanie.

Rozumiem ze laczac te dwie tabele i umieszczajac je w tablicy $wynik "otrzymuje"jedna duza polaczona tablice z wartosciami obydwu tabel.Mam jednak problem poniewaz $rkwadrat = $r['kwadrat']; nie odbiera wartosci.Musze pobrac dodatkowy argument w zapytaniu?
erix
12.07.2010, 10:39:00
Daj sobie ~
var_dump na tę tablicę i będziesz miał wszystko jasne.
zerosix
12.07.2010, 12:08:43
dzieki koledzy:D
to jeszcze raz ja:)
wiem ze przynudzam ,ale mam jeszcze jeden problem ktory spedza mi sen z powiek.W tablica nie pobiera kolumny user
array(8) { ["id"]=> string(2) "18" ["idadd"]=> string(2) "18" ["user"]=> string(0) "" ["text"]=> string(12) "haaaaaaaaalo" ["data"]=> string(19) "2010-07-02 12:16:50" ["nazwa"]=> string(26) "foto/normal/a273193360.jpg" ["kwadrat"]=> string(27) "foto/kwadrat/c273193360.jpg" ["male"]=> string(25) "foto/thumb/.273193360.jpg" }
zapytanie dziala na pozostalych kolumnach:
SELECT * FROM comment LEFT JOIN pierwszafaza ON comment.idadd = pierwszafaza.id
co moze byc tego powodem?
wookieb
12.07.2010, 12:10:47
Tzn, że masz rekord odwołujący się do nie istniejącego użytkownika (nie mam pewności) albo też user o podanym id ma pustą wartość "user"
zerosix
12.07.2010, 12:13:59
8 z 10 rekordow w kolumnie ma inna wartosc niz zero.
wookieb
12.07.2010, 12:16:50
Nie ma to żadnego związku w tym co CI napisałem.
zerosix
12.07.2010, 12:18:17
a wszystkie odwolania wyrzucaja NULL dla usera
tez tak mysle,ale dalej nie rozumiem czemu to moze nie dzialac
wookieb
12.07.2010, 12:19:03
No to podaj strukturę tabel, dane w nich i zapytanie jakie wywołujesz.
zerosix
12.07.2010, 12:22:47
comment:
id idadd user text data
pierwszafaza
id nazwa user kwadrat male data
zapytanie :SELECT * FROM comment LEFT JOIN pierwszafaza ON comment.idadd = pierwszafaza.id
teraz zauwazylem ze w dwoch kolumnach mam kolumne o nazwie user . Jest jakas opcja na rozwiazanie tego problemu czy najlepiej poprostu zmienic nazwejednej z kolumn?
wookieb
12.07.2010, 12:24:52
Wypisać kolumny które chcesz pobrać
SELECT comment.id, comment.user (itd) FROM comment LEFT JOIN pierwszafaza ON comment.idadd = pierwszafaza.id
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.