Drzewko - jak wyswietlic ilosc produktow nalezacych do danej |
Drzewko - jak wyswietlic ilosc produktow nalezacych do danej |
5.06.2004, 15:36:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) |
Witam.
Mam funkcje do obslugi drzewka kategorii - jednak nie wiem jak zorbic aleby zliczana i wysietlana byla liczba produktow nalezacych do danej kategorii (oczywiscie baza sklada sie z 2 tabel: DZIALY, PRODUKTY). Prosze o pomoc Oto funkcje: [php:1:29b8958155]<?php function getBoss($id, $dane, &$index, &$boss, &$validate, &$error) { if($dane[$id]['boss']){ if($validate[$id]){ $error=SLW_Blad26; return; } else { $validate[$id]=true; $boss[$index]['id']=$dane[$id]['boss']; $boss[$index]['nazwa']=$dane[$dane[$id]['boss']]['nazwa']; $index++; getBoss($dane[$id]['boss'], $dane, $index, $boss, $validate, $error); } } } function getDzialy($idBoss) { $sql="select dzId, dzNazwa from dzialy where dzIdBoss='$idBoss' order by dzKolejnosc"; $res=mysql_query($sql); $index=0; while($row=mysql_fetch_array($res)){ $dane[$index]['id']=$row["dzId"]; $dane[$index]['nazwa']=str_replace(' ', ' ', $row["dzNazwa"]); $index++; } return $dane; } ?>[/php:1:29b8958155] A w taki sposob wysietlam kategorie: [php:1:29b8958155]<?php <? $cnt=mysql_connect("localhost", "xx", "xx"); mysql_select_db("xx", $cnt) or die ("Nie można poł±czyć się z MySQL'em!"); $dzId=$_GET['id']; $dzialy=getDzialy($dzId); for($i=0; $i<count($dzialy); $i++){ ?> <a href="dzial.php?id=<? echo $dzialy[$i]['id']; ?>"><b><? echo $dzialy[$i]['nazwa']; ?></b></a></div> <? } ?> ?>[/php:1:29b8958155] |
|
|
5.06.2004, 23:43:40
Post
#2
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 17.05.2003 Skąd: Kraków , Londyn Ostrzeżenie: (0%) |
Przypuszzam ze w tabeli produktry masz dopisane do kazdego produktu id lub nazwe dzialu , wiec wystarczy ze dasz cos takiego:
[php:1:1516a9efaf]<?php $wyszukaj = mysql_query("SELECT * FROM produkty WHERE id_dzialu='".$id_dz."' "); $wynikow = mysql_num_rows($wyszukaj); echo $wynikow ; ?>[/php:1:1516a9efaf] -------------------- |
|
|
6.06.2004, 13:23:20
Post
#3
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) |
Chodzilo mi o troche cos innego - nie zliczanie tylko produktow w danej kategorii - tylko : aby zliczyc wszytkie produkty takze w kategoriach nizszych
A nie wiem jak wlasnie to zrobic. |
|
|
6.06.2004, 22:04:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 17.05.2003 Skąd: Kraków , Londyn Ostrzeżenie: (0%) |
To nie mozesz stworzyc podgrup , i do produktu dopisac grupe i podgrupe i wtedy tylko dopiszesz AND podgrupa='id'
[php:1:29c0471fdf]<?php $wyszukaj = mysql_query("SELECT * FROM produkty WHERE id_dzialu='".$id_dz."' AND id_podgrupy='".$id_pod."' "); $wynikow = mysql_num_rows($wyszukaj); echo $wynikow ; ?>[/php:1:29c0471fdf] chyba ze chodzi o zliczenie wszystkich produktow w bazie to sprawa jest jeszcze prostsza : [php:1:29c0471fdf]<?php $wyszukaj = mysql_query("SELECT * FROM produkty "); $wynikow = mysql_num_rows($wyszukaj); echo $wynikow ; ?>[/php:1:29c0471fdf] -------------------- |
|
|
7.06.2004, 22:36:52
Post
#5
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) |
Cytat Chodzilo mi o troche cos innego - nie zliczanie tylko produktow w danej kategorii - tylko : aby zliczyc wszytkie produkty takze w kategoriach nizszych
A nie wiem jak wlasnie to zrobic. A jak masz zrobione to drzewko. Które to są kategorie niższe - gdzie jest przechowywana ta informacja? Musimy skądś wiedzieć, które podkategorie należą do danej kategorii. Jak to podasz to zrobi się odpowiednie zapytanie. @nasto Unikamy liczenia wierszy w php - czyli funkcją mysql_num_rows, a liczymy je już w zapytaniu do bazy danych, czyli countem. W ten sposób php dostaje w wyniku jedną liczbę, a nie całą zawartość tabeli. -------------------- Na warsztacie (z zamiłowania): Nowy rynek kosztowności, broni, ziół i misktur na Vallheru (MMORPG) lllllllllllll 65%
[b]Na warsztacie (komercyjnie): Rozbudowa i adaptacja do wymagań klienta gotowego Progra |
|
|
10.06.2004, 16:58:02
Post
#6
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) |
Witam.
Zapomnialem jeszcze napisac struktury bazy: [sql:1:6cb6ac4e8d] - dzId - id kategorii - dzIdBoss - id kategorii rodzica] - dzNazwa - nazwa kategorii [/sql:1:6cb6ac4e8d] I jeszcze nie moge sobei poradzic z wysietleniem drzewka w polu typu select: w taki sposob: Kod - Kategoria 1
- Podkategoria 1 - Podkategoria 1.1 -Kategoria 2 - Podkategoria 1 - Podkategoria 2 itp Ponizej zamieszczam kod jakim wyswietlam cale drzewko. Lecz nie moge sobie poradzic z SELECTEM. [php:1:6cb6ac4e8d]<?php for($i=0; $i<count($struktura); $i++) { $nr=$i+1; for($j=0; $j<count($struktura[$i]); $j++) { $margines=10*$struktura[$i][$j]['level']; echo "<table width="100%" ><tr><td width= "".$margines.""></td> <td><li style="margin-left: 10px;"> <ahref="index.php?id=".$struktura[$i][$j]['id']."&a=ed">".$struktura[$i][$j]['nazwa']."</a>"; if($struktura[$i][$j+1]['level'] > $struktura[$i][$j]['level']) { print'</td>'; } else { print'</td>'; } if($struktura[$i][$j+1]['level'] < $struktura[$i][$j]['level']) for($k=0; $k<$struktura[$i][$j]['level']-$struktura[$i][$j+1]['level']; $k++)echo "</td></tr></table>"; } } ?>[/php:1:6cb6ac4e8d] |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 02:55 |