Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zrobilem kod potrzebuje pomocy - problem z wyswietlaniem
Forum PHP.pl > Forum > PHP
stal-sw
Baza danych sklada sie z 3 tabel:

op_cat - idCat, naz_c - w tej tabeli beda zapisane nazwy kategorii i id kategorii
op_subcat - idScat, naz_sc (nazwy podkategorii), cat (nr kategorii odnoszacy sie do 1 tabeli)
op_mecze - id, data, scat (nr podkategorii powiazany z 2 tabela), ile, mecz, opis

Mój problem polega na tym, ze:
- chce zliczyc rekordy wchodzące w sklad danej kategorii i wyswielic liczbe tych rekordow obok nazwy wszystkich kategorii (chodzi o plik category.lib).
- chce zliczyc rekordy wchodzące w sklad danej podkategorii i wyświetlić je z boku obok nazw podkategorii (chodzi o ziane pliku subcategory.lib)
- i jak obok nazwy podkategorii (a pod nia sa wymienione mecze wchodzące w jej sklad) wyswielic jeszcze nazwe kategorii głównej (chodzi o plik mecze.lib)

Proszę o pomoc. Z gory wielkie dzieki.
Poniżej pliki.

Kod
config.cfg

Kod:

<?

###### MySQL #########

mysql_pconnect("localhost","xx","xx") or die ("Connection FAILED");

mysql_select_db("op") or die ("DB select FAILED");



####### DIR's #########

$LIB_DIR = "lib/";



#############

#  GLOBALS  #

#############

$VARS = $_GET ? $_GET : $_POST;

$CAT = $VARS["c"];

$SCAT = $VARS["s"];

$MECZE = $VARS["fid"];

?>







Index.php

Kod:

<?

include("cfg/config.cfg");



if($CAT)

{

   require($LIB_DIR."subcategory.lib");

}

elseif($SCAT)

{

   require($LIB_DIR."mecze.lib");

}

elseif($MECZE)

{

   require($LIB_DIR."opisy.lib");

}

else

{

   require($LIB_DIR."category.lib");

}

?>





category.lib

Kod:

<?



$select = "SELECT idCat,naz_c FROM op_cat WHERE 1";

$query = mysql_query($select);

print"<TABLE border=0>";

while($r = mysql_fetch_object($query))

{

   echo '<tr><td><a href="?c='.$r->idCat.'&n='.$r->naz_c.'" onFocus="blur()">'.$r->naz_c.'</a></td><tr>';

}

print"</TABLE>";

?>





subcategory.lib

Kod:

<?

if($CAT == "") {

echo "Nie wybrano sezonu";

}

echo '<table border=0>';







$select = "SELECT idScat,naz_sc FROM op_subcat WHERE cat=$CAT";

$query = mysql_query($select);

echo '<tr><td><B>'.$VARS["n"].'</B></td></tr>';

while($r = mysql_fetch_object($query))

{

   echo '<tr><td><a href="?s='.$r->idScat.'&n='.$r->naz_sc.'" onFocus="blur()">'.$r->naz_sc.'</a></td><tr>';

}

print"</TABLE>";

?>





mecze.lib

Kod:

<?

if($SCAT == "") {

echo "Nie wybrano sezonu";

}

echo '<table border=0>';



$select = "SELECT id, mecz FROM op_mecze WHERE scat=$SCAT";    

$query = mysql_query($select);

echo '<tr><td><B> '.$VARS["n"].' </B></td></tr>';

while($r = mysql_fetch_object($query))

{

   echo '<tr><td><a href="?fid='.$r->id.'&n='.$r->mecz.'" onFocus="blur()">'.$r->mecz.'</a></td><tr>';

}

print"</TABLE>";

?>





opisy.lib

Kod:

<?

$select = "SELECT opis, data, ile FROM op_mecze WHERE id=$MECZE LIMIT 1";

$query = mysql_query($select);

$r = mysql_fetch_object($query);



print'          <tr>';

print'<p align="center">'.$VARS["n"].'&nbsp;&nbsp;'.$r->data.'</td>';

print'            <td width="100%" colspan="2" >'.$r->opis.'</td>';



?>
dragossani
Wszelkie tego typu zliczenia robisz zapytaniem agregującym, np:
Kod
SELECT op_cat.naz_c AS kategoria, COUNT(*) AS ile_podkategorii FROM op_cat, op_subcat WHERE op_subcat.cat=op_cat.idCat GROUP BY op_subcat.cat
Powinno (o ile się gdzieś nie walnąłem) Ci wyrzucić listę kategorii wraz z ilością podkategorii przy każdej z nich. Analogicznie w pozostałych przypadkach. Pokombinuj samodzielnie.
stal-sw
Zmienilem kod pliku category.lib na ponizszy i wyswietla mi liczbe podaktegorii ale nie w tym miejscu co bym chcial (chodzi mi o to aby wyswietlic w miejscu gdzie w kodzie jest: xxxxxxxxxxxxx.

A moze ktos pomoze mi w tym aby zrobic tak ze w pliku category.lib abu obok wyswietonej nazwy kategorii nie tyle wyswietlilo mi licze podkategorii ale liczbe rekordow wchodzacych w sklad dane zarowno kategorii jak i podkategorii.


Kod
<HTML>

<body bgcolor="#EFEFEF">

<?

$zapytanie1 = "SELECT op_cat.naz_c AS cat, COUNT(*) AS ile_podkategorii FROM op_cat, op_subcat WHERE op_subcat.cat=op_cat.idCat GROUP BY op_subcat.cat";

$query = mysql_query($zapytanie1);

while($row = mysql_fetch_array($query))

     {

    $ile_podkategorii = $row['ile_podkategorii'];

echo "t    <td width=295>$ile_podkategorii</td>n";

   }

mysql_free_result($wykonaj);





$select = "SELECT idCat,naz_c FROM op_cat WHERE 1";

$query = mysql_query($select);

print"<TABLE border=0>";

while($r = mysql_fetch_object($query))

{

   echo '<tr><td><a href="index.php?c='.$r->idCat.'&n='.$r->naz_c.'" onFocus="blur()">'.$r->naz_c.'</a><xxxxxxxxxxxxxx></td><tr>';

}

print"</TABLE>";

?>

</HTML>
[/code]
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.