Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyswietlanie produktow z bazy na 'witrynie sklepowej', problem z wyswietlaniem danych z bazy.. pomozcie:)
chrupka
post 11.01.2007, 18:14:25
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 11.01.2007

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


witam, chce na swojej stronie (sklep internetowy) wyswietlac kategorie przedmiotow jakie sprzedaje, pobrane z bazy, a po kliknieciu na nie uzytkownik ma zobaczyc liste produktow pobrana z bazy z danej kategorii, nastepnie po kliknieciu na produkt wyswietla sie strona z jego opisem.
zalozmy wersje uproszczona: mam dwie tabele:
1. categories - z polami: categoryId, category
2. products - z polami: productId, categoryId, productName
Dajmy na to ze w tabeli categories mam 2 pola: Bluzki i Sukienki, a w tabeli products jakies tam produkty z obu kategorii, ktore wiaza sie z tabela categories polem categoryId
Mój problem polega na tym, ze w momencie kiedy mam tylko 1 kategorie, to wszystko wyswietla sie super. Pokazuje sie nazwa kategorii, jak ja klikne to pod spodem pokazuje sie lista produktow z tej kategorii. Problem sie pojawia, gdy wrzucam do tabeli z kategoriami inne kategorie, tak ze są np. dwie (np. pierwsza to 'bluzki' druga-'sukienki') - nazwy kategorii sie wyswietlaja, ale po kliknieciu na 'Bluzki' nie pojawia sie absolutnie nic (tak jakby nie wchodzil w if-a z $_GET['ctgr']), a jak klikne na druga kategorie, lub gdy jest ich wiecej - ostatnia, to wyswietlaja sie wszystkie produkty z tej ostatniej w tabeli kategorii, jak rowniez po kliknieciu na produkt pojawia sie strona z opisem.
co moze byc nie tak? jak to inaczej mozna wyswietlic, skoro to mi nie dziala? pomozcie, bo juz 3 dni glowkuje i nie mam zielonego pomyslu.

fragment b.uproszczonego kodu;) :
(plik nazywa się test.php)

$query="select * from categories";
$result=mysql_query($query) or die("Couldn't execute query.");

while($row=mysql_fetch_array($result))
{
$categoryId=$row['categoryId'];
echo "<tr><td><a href=\"test.php?ctgr=".$categoryId."\">".$row['category']."</a></td></tr>";
}

if ($_GET['ctgr']==$categoryId)
{
$query2="SELECT * from products where categoryId=$categoryId";
$result2=mysql_query($query2) or die("Couldn't execute query 2.");

while($row2=mysql_fetch_array($result2))
{
echo "<tr><td><a href=\"products.php?ctgr=".$categoryId."&itemId=".$row2['productId']."\">".$row2['productName']."</a></td></tr>";
}
}
Go to the top of the page
+Quote Post
1010
post 11.01.2007, 21:52:18
Post #2





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


albo usun ifa i do where daj $_GET['ctgr']
albo wrzuć całość do pętli z kategoriami

ps. dawaj kod do bbcode


--------------------
Go to the top of the page
+Quote Post
chrupka
post 12.01.2007, 14:53:17
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 11.01.2007

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


sorki za ten kod:) dzieki za podpowiedz, umiescilam w kwerendzie $_GET['ctgr']. ale nie moglam tego wszystkiego zrobic w tym samym while'u, w ktorym wyciagam z bazy kategorie, bo produkty pojawiaja sie w innej tabelce:) rozwiazalam to tak, jesli nie ma zadnej kategorii (if($_GET['ctgr']=="")) to wyswietla mi sie to samo co przed wybraniem kategorii, a w elsie umiescilam reszte kodu, wyciagajaca z bazy produkty wedle kategorii. tylko nie wiem czy tak moze byc, bo co jesli uzytkownik wpisze sobie z palca w adresie URL "...?ctgr=costam".
w kazdym razie dzieki za odpowiedz:)
Go to the top of the page
+Quote Post

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: 24.07.2025 - 17:05