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:
<?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))
{
<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 {
echo '<p class="error">Błąd! Problem z serwerem.</p>'; }
?>
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'];
{ echo '<img src="miniaturki/ ' . $row3['nowa_nazwa'] . '" width="50px" height="50px">';} else
{ echo '<img src="uploads/brak_obrazka.png" width="50px" height="50px">';} <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?
Ten post edytował sinke 4.05.2011, 13:52:35