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:
<?php require_once('../db.inc.php'); $zapytanie = "SELECT id_kategorie, nazwa, sort FROM kategorie ORDER BY nazwa ASC "; $wynik = @mysqli_query($link, $zapytanie); //$r $num = @mysqli_num_rows($wynik); if ($num > 0) {while ($row = mysqli_fetch_array($wynik, MYSQL_ASSOC)) { echo '<ul> <li><a href="pokaz_ogloszenia_niezal3_el.php?kategoria=' .$row['sort'] . '">' .$row['nazwa'] . '</a></li> </ul>'; $slowo = $row['nazwa']; $where = "WHERE k.nazwa = '$slowo'"; } } else { } ?>
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.
<?php $q3 = "SELECT o.id, o.tytul, k.nazwa, u.name, DATE_FORMAT(data, '%d-%m-%Y' ) , o.nowa_nazwa FROM ogloszenia o LEFT JOIN kategorie AS k USING ( id_kategorie ) LEFT JOIN users_2 AS u USING ( user_id ) $where ORDER BY o.data DESC LIMIT $start,$display "; $r3 = @mysqli_query($link, $q3); $num3 = @mysqli_num_rows($r3); if ($num3 > 0) { echo '<br><table id="ogloszenia_tab"> <tr> <th>nr:</th> <th>obrazek:</th> <th>tytuł:</th> <th>autor:</th> <th>data dodania:</th> </tr>'; $bg = '#ffffff'; while ($row3 = mysqli_fetch_array($r3, MYSQL_ASSOC) ) { $bg = ($bg == '#ffffff' ? '#e9e9e9' : '#ffffff'); echo ' <tr bgcolor="' .$bg. '" onClick="location.href=\'http://ad-board.aleksandralysko.pl/view_print.php?id=' .$row3['id']. '\'" > <td id="nr">' .$row3['id'] . '</td> <td id="obrazek_tr">'; $nazwa = $row3['nowa_nazwa']; else echo '</td> <td id="tytul">' .$row3['tytul'] . '</td> <td id="autor">' .$row3['name'] . '</td> <td id="data">' .$row3['DATE_FORMAT(data, \'%d-%m-%Y\' )'] . '</td> </tr> '; } mysqli_free_result($r3); mysqli_close($link); ?>
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?