Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Używanie wyników zapytania w drugim zapytaniu
sinke
post 3.05.2011, 15:35:14
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 26.02.2011
Skąd: Bieruń

Ostrzeżenie: (0%)
-----


Witam,
mam następujący problem:
jestem w trakcie robienia strony z ogłoszeniami i mam problem z kategoriami, ponieważ chcę aby kategorie były wczytywane z bazy i tutaj nie jest problem, bo to udało mi się utworzyć bez problemu. Natomiast problem pojawia się wtedy kiedy chcę aby po przez naciśnięcie na daną kategorię wyświetlały mi się ogłoszenia tylko z tej danej kategorii.
I wymyśliłam sobie coś takiego:
  1. <?php
  2.  
  3. require_once('../db.inc.php');
  4. $zapytanie = "SELECT id_kategorie, nazwa, sort FROM kategorie ORDER BY nazwa ASC ";
  5. $wynik = @mysqli_query($link, $zapytanie); //$r
  6. $num = @mysqli_num_rows($wynik);
  7.  
  8. if ($num > 0)
  9. {while ($row = mysqli_fetch_array($wynik, MYSQL_ASSOC))
  10. {
  11. echo '<ul>
  12. <li><a href="pokaz_ogloszenia_niezal3_el.php?kategoria=' .$row['sort'] . '">' .$row['nazwa'] . '</a></li>
  13. </ul>';
  14. $slowo = $row['nazwa'];
  15. $where = "WHERE k.nazwa = '$slowo'";
  16.  
  17. }
  18.  
  19. }
  20. else {
  21. echo '<p class="error">Błąd! Problem z serwerem.</p>';
  22. }
  23. ?>

Jest to częśc kodu, który includuję do pliku w którym znajduję się zapytanie poniżej.
I teraz używam drugiego zapytania, w którym chcę wykorzystać zmienną $where.
  1. <?php
  2. $q3 = "SELECT o.id, o.tytul, k.nazwa, u.name, DATE_FORMAT(data, '%d-%m-%Y' ) , o.nowa_nazwa
  3. FROM ogloszenia o
  4. LEFT JOIN kategorie AS k
  5. USING ( id_kategorie )
  6. LEFT JOIN users_2 AS u
  7. USING ( user_id )
  8. $where
  9. ORDER BY o.data DESC
  10. LIMIT $start,$display ";
  11.  
  12. $r3 = @mysqli_query($link, $q3);
  13. $num3 = @mysqli_num_rows($r3);
  14.  
  15. if ($num3 > 0)
  16. {
  17. echo '<br><table id="ogloszenia_tab">
  18. <tr>
  19. <th>nr:</th>
  20. <th>obrazek:</th>
  21. <th>tytuł:</th>
  22. <th>autor:</th>
  23. <th>data dodania:</th>
  24. </tr>';
  25.  
  26.  
  27. $bg = '#ffffff';
  28. while ($row3 = mysqli_fetch_array($r3, MYSQL_ASSOC) )
  29.  
  30. {
  31.  
  32. $bg = ($bg == '#ffffff' ? '#e9e9e9' : '#ffffff');
  33. echo ' <tr bgcolor="' .$bg. '" onClick="location.href=\'http://ad-board.aleksandralysko.pl/view_print.php?id=' .$row3['id']. '\'" >
  34.  
  35. <td id="nr">' .$row3['id'] . '</td>
  36. <td id="obrazek_tr">';
  37. $nazwa = $row3['nowa_nazwa'];
  38.  
  39. if (!empty($nazwa))
  40. { echo '<img src="miniaturki/ ' . $row3['nowa_nazwa'] . '" width="50px" height="50px">';}
  41. else
  42. { echo '<img src="uploads/brak_obrazka.png" width="50px" height="50px">';}
  43. echo '</td>
  44. <td id="tytul">' .$row3['tytul'] . '</td>
  45. <td id="autor">' .$row3['name'] . '</td>
  46. <td id="data">' .$row3['DATE_FORMAT(data, \'%d-%m-%Y\' )'] . '</td>
  47. </tr>
  48. ';
  49.  
  50. }
  51.  
  52. echo '</table>';
  53. mysqli_free_result($r3);
  54. mysqli_close($link);
  55. ?>

Niestety, ale kiedy w zapytaniu używam zmienną $where, żadne wyniki się nie wyświetlają. A jak wpiszę nie jako zmienną tylko ręcznie tzn. WHERE k.nazwa = 'praca' to wszystko działa.

Obydwa zapytania są poprawne bo sprawdzałam w phpMyAdmin.
Jakiś pomysł co robię źle?

Ten post edytował sinke 4.05.2011, 13:52:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:20