Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Problem z LEFT JOINem
Forum PHP.pl > Forum > Przedszkole
Maxik
  1. SELECT galleries.*, photos.* FROM prefix_photos photos LEFT JOIN prefix_galleries galleries ON photos.gallery=galleries.gallery_id ORDER BY photos.photo_add ASC WHERE photos.gallery=5 LIMIT 1


Nie wiem czemu, ale to zapytanie nie działa. Błędów brak. Proszę o pomoc.
skowron-line
  1. SELECT galleries.*, photos.* FROM prefix_photos photos LEFT JOIN prefix_galleries galleries ON photos.gallery=galleries.gallery_id WHERE photos.gallery=5 ORDER BY photos.photo_add ASC LIMIT 1
Maxik
Zmieniłem zapytanie na to podane, ale dalej nie chce działać, może z kodem jest coś nie tak:

  1. <?php
  2. if(empty($_GET['galeria'])){
  3.    $q = $db->query("SELECT * FROM ".$db->pref."galleries ORDER BY gallery_add DESC");
  4.    echo '<ul>';
  5.    while($r = mysql_fetch_object($q)){
  6.        echo '<li><a href="index.php?go=galeria&galeria='.$r->gallery_id.'">'.$r->gallery_name.'('.date("d.m.Y", $r->gallery_add).')</a></li>';
  7.    }
  8.    echo '</ul>';
  9. } elseif(!empty($_GET['galeria']) and is_numeric($_GET['galeria'])){
  10.    $galeria = $db->query("SELECT galleries.*, photos.* FROM ".$db->pref."photos photos LEFT JOIN ".$db->pref."galleries galleries ON photos.gallery=galleries.gallery_id WHERE photos.gallery=".(int)$_GET['galeria']." ORDER BY photos.photo_add ASC LIMIT 1");
  11.    if(mysql_num_rows($galeria)==0){
  12.        echo '<p style="text-align:center; font-weight:bold; font-size:13px;">Galeria nie istnieje</p>';
  13.    } else{
  14.        echo '<div style="text-align:center;"><h1 style="font-size:18px; font-weight:bold;">'..'</h1></div>';
  15.        while($photo = mysql_fetch_object($galeria)){
  16.            echo '<div class="photo"><img src="mini_'.$photo->photo_filename.'" alt="'.$photo->photo_name.'" rel="lightbox['.$func->slugify($photo->gallery_name).']" /></div>';
  17.        }
  18.      
  19.    }
  20. }
  21. ?>


Też nie wyrzuca żadnych błędów, N++ koloruje składnie poprawnie, pierwszy if działa jeśli wykomentuję drugi, jeśli nie to skrypt zatrzymuje się i nic nie wyświetla nawet jeśli nie przekazuję parametru galeria.
skowron-line
wrzuc zapytanie do phpMyAdmin -a albo do konsoli mysql i zobacz czy zwroci ci jakiś wynik. Nie ma błędu bo może zwraca zero wyników.
Tylko wyświetl je sobie z poziomu PHP -a żebyś zobaczył jakie zmienne się wstawiają bo może to też być przyczynął.
Maxik
Gdyby było zero wyników to wyświetliłoby mi komunikat, a nie zatrzymywało skrypt. W pMA wywaliłem LIMIT bo nie był potrzebny, ale nawet z nim poprawnie pobrało mi rekord.

Skrypt już działa, wystarczyło zamienić and na &&.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.