Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] Wyswietlenie zawartosci BD opisy meczy
Forum PHP.pl > Forum > Bazy danych
stal-sw
Mam nastepujacy problem.
Mama BD skladajaca sie z 2 tabel maja one nastepujace pola (1 tab.-idsezonu, nazwa_sezonu- 2 tab. -id, mecz, data, opis) i chce wyswietlic rezultaty w nastepujacy sposob.

1. Pobrac nazwy wszystkich sezonow z tabeli 1 i wyswietlic kazda z nich tylko 1 raz i od wyswietlonych nazw seznow wygenerowac link (do strony nizej opisanej).

2.Strona ta ma wyswietlic 1 raz "nazwe sezonu" ( z tabeli 1) oraz nazwy wszystkich meczy (z 2 tabeli) wchodzacych w sklad wybranego wczesniej sezonu (kazdy 1 raz - mi nie wiem dlaczego ale kazdy mecz wypisywalo po kilka razy).

Prosze o pomoc.
Z gory wielkie dzieki.
maggot
do tabeli mecze dodajesz jeszcze pole 'id_sezonu'

1. SELECT * FROM sezony; // ?sezon=[id sezonu z bazy]
------------------------------------
2. a) SELECT nazwa_sezonu FROM sezony WHERE id_sezonu = '$sezon'; // nazwa sezonu
cool.gif SELECT * FROM mecze WHERE id_sezonu = '$sezon'; // mecze w tym sezonie
lub
SELECT * FROM sezony, mecze WHERE mecze.id_sezonu = '$sezon' AND sezony.id_sezonu = mecze.id_sezonu; // tutaj do kazdego meczu dodawane jest info o sezonie

------------------------------------
mozesz tez dodac to tab. sezony pola: poczatek_sezonu (date) i koniec sezonu a potem

2. cool.gif SELECT * FROM mecze, sezony WHERE sezony.id_sezonu = '$sezon' AND mecze.data BETWEEN sezony.poczatek_sezonu AND sezony.koniec_sezonu // tutaj tez do kazdego meczu dodawane jest info o sezonie

lub w 2 zapytaniach

2. SELECT * FROM sezony WHERE sezon = '$sezon' // wyciagamy poczatek i koniec sezonu
SELECT * FROM mecze WHERE data BETWEEN '$poczatek_sezonu' AND '$koniec_sezonu'
---------

ja bym wybral ten drugi sposob

ps. mam nadzieje, ze sie nigdzie nie pomylilem
stal-sw
Moglbym moze prosic kompletny skrypt powyzszego rozwiazania a nie tylko same zapytania ?!

Z gory dzieki.
maggot
tak latwo to nie bedzie, poczytaj w manualu o:
mysql_connect()
mysql_select_db()
mysql_query()
while
mysql_fetch_row() lub jak wolisz mysql_fetch_array()
echo

z sql'em jest podobnie, ale zgaduje, ze masz mysql'a
stal-sw
Juz mam kompletne rozwiazanie. Moze komus sie kiedys przyda wiec zamieszczam ponizej.
Problem rozwiazal mi Termit z forum.scrypty.com

Plik 1.php

(...)
<table border=0>
<?php
$sql = "select * from tabela1";
$res = mysql_query($sql);
while($db = mysql_fetch_array($res)) {
echo '<tr><td><a href="2.php?s='.$db['idsezonu'].'" onFocus="blur()">'.$db['nazwa_sezonu'].'</a></td><tr>';
}
?>
</table>
(...)


Plik 2.php
(...)
<?
if($s == "") {
echo "Nie wybrano sezonu";
}
echo '<table border=0>';
$sql = "select nazwa_sezonu from tabela1 where idsezonu='".$s."'";
$res = mysql_query($sql);
$nazwa = mysql_fetch_array($res);

$sql = "select mecz, data from tabela2 where sezon='".$s."'";
$res = mysql_query($sql);
echo '<tr><td>'.$nazwa[0].'</td></tr>';
while($db = mysql_fetch_array($res)) {
echo '<tr><td>'.$db['mecz'].' ('.$db['data'].')</td></tr>';
}
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.