Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem ze zwracaniem danych
Forum PHP.pl > Forum > Przedszkole
zolasty
Mam duży problem, mam wyszukiwanie ogłoszeń i wyszukiwarka źle zwraca sad.gif nie wiem dlaczego, a dzisiaj muszę oddać projekt sad.gif
http://zolasty.vasq.pl/index.php
  1. <div class="oferta">
  2. <div class="tytul">Wyniki wyszukiwania:</div>
  3. <?php
  4.  
  5. require_once('config.php');
  6.  
  7.  
  8. $query = "SELECT o.*, z.idzdjecia FROM ogloszenia as o Inner Join zdjecia as z ON o.id = z.idogloszenia group by o.id";
  9.  
  10. if( !empty( $_POST['miasto'] ) ) $query .= " AND miasto='{$_POST['miasto']}' ";
  11. if( !empty( $_POST['powierzchniaod'] ) ) $query .= " AND powierzchnia > '{$_POST['powierzchniaod']}' ";
  12. if( !empty( $_POST['powierzchniado'] ) ) $query .= " AND powierzchnia < '{$_POST['powierzchniado']}' ";
  13. if( !empty( $_POST['cenaod'] ) ) $query .= " AND cena > '{$_POST['cenaod']}' ";
  14. if( !empty( $_POST['cenado'] ) ) $query .= " AND cena < '{$_POST['cenado']}' ";
  15. if( !empty( $_POST['material'] ) ) $query .= " AND material='{$_POST['material']}' ";
  16. if( !empty( $_POST['produkcjaod'] ) ) $query .= " AND rok_budowy='{$_POST['produkcjaod']}' ";
  17. if( !empty( $_POST['produkcjado'] ) ) $query .= " AND rok_budowy='{$_POST['produkcjado']}' ";
  18. if( !empty( $_POST['region'] ) ) $query .= "AND region='{$_POST['region']}' ";
  19. // die($query);
  20. $sql->query( $query );
  21.  
  22.  
  23. // $row = $sql->fetchRow() ;
  24. // print_r($row);
  25. // die();
  26. echo "<table cellpadding='2' class='tabelka2' lign='center' width='100%' border='1'>";
  27. echo "<tr>";
  28. echo "<td><b>Miniatura:</b></td>";
  29. echo "<td><b>Miasto:</b></td>";
  30. echo "<td><b>Powierzchnia:</b></td>";
  31. echo "<td><b>Cena:</b></td>";
  32. echo "<td><b>Materiał:</b></td>";
  33. echo "<td><b>Rok budowy:</b></td>";
  34. echo "<td><b>Region:</b></td>";
  35. echo "<td></td>";
  36. echo "</tr>";
  37. while($r = $sql->fetchAssoc() ) {
  38. echo "<tr>";
  39. echo "<td><img src=miniatury/".$r['idzdjecia'].".jpg></td>";
  40. echo "<td>".$r['miasto']."</td>";
  41. echo "<td>".$r['powierzchnia']."</td>";
  42. echo "<td>".$r['cena']."</td>";
  43. echo "<td>".$r['material']."</td>";
  44. echo "<td>".$r['rok_budowy']."</td>";
  45. echo "<td>".$r['region']."</td>";
  46. echo "<td><a href='index.php?mod=view_advert&id={$r['id']}'>Pokaż<a></td>";
  47. echo "</tr>";
  48. }
  49. echo "</table>";
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. ?>
  57.  
  58. </div>
blooregard
  1. if( !empty( $_POST['produkcjaod'] ) ) $query .= " AND rok_budowy='{$_POST['produkcjaod']}' ";
  2. if( !empty( $_POST['produkcjado'] ) ) $query .= " AND rok_budowy='{$_POST['produkcjado']}' ";

A tu nie powinno być też < i > ? Bo wybór roku budowy na pewno nie wpływa na wyniki wyszukiwania (zawsze pokazuje się ten jeden dom w Łańcucie)

Poza tym:
- zrób var_dump'a tablicy POST
- wyświetl sobie kompletne zapytanie i zobacz, jak wygląda przed wykonaniem

zolasty
dzięki, poprawiłem rok, teraz zepsuło się kodowanie ale to chyba dlatego że zapisalem zmiany poprostu w pliku tekstowym
Nie wiem jak robi się var_dumpa, zrobiłem tak var_dump($_POST);
Zapytanie zwaraca wszyskie ogłoszenia z tabeli ogloszenia połaczone z idzdjecia z tabeli zdjecia
blooregard
Cytat
Nie wiem jak robi się var_dumpa, zrobiłem tak var_dump($_POST);

No to dobrze zrobiłeś.
Polecam częściej zaglądać tu:
http://www.php.net

Jak chcesz uzyskać informacje na temat jakiejś funkcji:
php.net/nazwa_funkcji

Cytat
chyba dlatego że zapisalem zmiany poprostu w pliku tekstowym

Używasz do pisania aplikacji jakiegoś IDE? Bo jeśli nie, to zainteresuj się NetBeans albo Eclipse.

I chyba niezbyt naprawiłeś, bo nadal czegokolwiek nie wybiorę w wyszukiwarce, wciąż mam tylko ten jeden dzień w Łańcucie. Poza tym dodaj zapamiętywanie wybranych pozycji w selektach, bo za każdym razem trzeba od nowa wszystko wybierać.

Jeśli zrobiłeś echo($query), pokaż zapytanie, które Ci się wyświetla.
zolasty
Problem tkwi wyłącznie w w zapytaniu z Join. Jak się da zapytanie proste, same ogłoszenia, wyszukuje dobrze, ale nie pokazuje zdjęć. Nie wiem jakiego zapytania użyć żeby było dobrze...
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.