Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetleniem zawartości tabeli
Forum PHP.pl > Forum > PHP
slimboj
Witam,
Mam pewien problem z wyświetleniem jednej z tabel. Jej struktura wygląda mniej więcej tak:
id | name |category_id | category_id1
--+-----------+-------------+-------------
1 | product_1 | 1 | 6
2 | product_2 | 1 | 5
3 | product_3 | 1 | 6
4 | product_4 | 1 | 5

Kod do wyświetlenia tabeli:
CODE
class content
{
function __construct()
{
$select_product=mysql_query("SELECT * FROM e_products WHERE product_category_id=".$_GET['s']." OR product_category_id1=".$_GET['s']." ORDER BY product_id");
if(!mysql_fetch_row($select_product))
{
echo("Brak produktów w danej kategorii ");
}
else
{
while($q_select_product=mysql_fetch_row($select_product))
{
echo("".$q_select_product[2]."");
}
}
}
}

Generalnie wszystko działa poprawnie, tylko w momencie dodania warunku if nie zostaje wyświetlony pierwszy rekord z tabeli. Jeśli dodam rekord o wartościach 0 w każdym polu, nic to specjalnie nie zmienia. Jeśli wywalę warunek if, to wszystko wyświetla się poprawnie. Jakieś pomysły co tu może być nie tak?

P.S. Jak dodać codebox aby wyświetlał pokolorowany kod?
webasek
  1. <?php
  2. if(!mysql_fetch_row($select_product))
  3. {
  4. echo("Brak produktów w danej kategorii ");
  5. }
  6. else
  7. {
  8. while($q_select_product=mysql_fetch_row($select_product))
  9. {
  10. echo("".$q_select_product[2]."");
  11. }
  12. }
  13. ?>


Zastąp
  1. <?php
  2. if($select_product!=null) // znaczy ,że coś w tabeli jest
  3. {
  4. while($q_select_product=mysql_fetch_row($select_product))
  5. {
  6. echo("".$q_select_product[2]."");
  7. }
  8. }
  9. else
  10. {
  11. echo("Brak produktów w danej kategorii ");
  12. }
  13. ?>
slimboj
Sorki, za post po poście, ale jednak okazuje się, że nie wszystko działa jak powinno, tzn. wyświetla wszystkie rekordy z bazy, ale nie wyświetla komunikatu (tam gdzie potrzeba) "brak produktów w tej kategorii".
Zastanowiłem się nad tym chwilę i to nie chodzi o wyświetlenie w/w komunikatu jeśli jakiś rekord w bazie jest pusty, ale jeśli do zmiennych $_GET['c'] i $_GET['s'] nie są przyporządkowane żadne rekordy z bazy.
Czyli jeśli $_GET['c']<>product_category_id to pojawia się w/w komunikat. Ale zapytanie skonstruowane w ten sposób również nie działa poprawnie...
webasek
  1. <?php
  2. if($select_product!=null && mysql_num_rows($select_product)>0) // znaczy ,że coś w tabeli jest
  3. ?>

a teraz?
Jak coś sprawdź tutaj http://pl.php.net/mysql_num_rows
slimboj
teraz działa poprawnie, jeszcze raz dzięki smile.gif
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.