boya
19.05.2004, 13:37:17
Wtiam
Mam nastepujacy skrypt
[php:1:9084740a84]<?php
//polacznie z baza
list($ilosc1) = @mysql_fetch_row(@mysql_query("SELECT max(sonda_id) FROM ppsonda")); //wyciagniecie max sonda_id z tabeli ppsonda
$numersondy = 1; //taki mam najnizszy wpis w bazie
while($numersondy <= $ilosc1) { //petla nr 1 z dojsciem do samego max sonda_id
$zapytanie = "SELECT * FROM ppsonda WHERE sonda_id=$numersondy ORDER by id DESC"; //wyswietlenie w odwrotnej kolejnosci czyli od najnowszego do najstarszego ta obcja nie pomaga ;/
$wykonaj = mysql_query ($zapytanie);
while($wiersz=@mysql_fetch_array ($wykonaj)) { //petla nr 2 wyciagajaca z bazy sonda_id=$numersondy
$pyt = $wiersz['pytanie'];
echo"$pyt";
} //koniec petli nr1
$numersondy++; //dodanie 1
} //koniec petli nr2
?>[/php:1:9084740a84]
a baza wyglada tak
id | sonda_id | pytanie | punkty | opcja |
1 | 1 | pytanie sondy | 18 | TAK |
1 | 1 | | 21 | NIE |
1 | 1 | | 32 | nie wiem |
Chodzi mi o to jak poustawiac warunki w pierwszej petli zeby mi wyswietalo tak jak powinno z DESC
party
19.05.2004, 13:39:41
To ty masz pytania i odpowiedzi w tej samej tabeli? 8O
boya
19.05.2004, 13:42:36
zgadza sie dalej mam to odpowienio podpiete pod petle wyswietlajaca pytania a po pyaniu zawsze wstawisz <BR> i jest ok
ale wrocmy do mojego problemu...
party
19.05.2004, 13:46:01
Więc proponuję Ci zrobić 2 tabele:
:arrow: pytania (id, pytanie)
:arrow: odpowiedzi (id, id_pytania, odpowiedz, glosow)
Dalej to już sobie raczej poradzisz...
boya
20.05.2004, 09:28:54
tak zrobilem
boya
20.05.2004, 10:02:46
Zrobilem tak
[php:1:14ddc748d3]<?php
list($ilosc1) = @mysql_fetch_row(@mysql_query("SELECT max(id) FROM pp_sondapytania"));
$numersondy = $ilosc1;
while($numersondy > 0)
{
//pobranie z jednej tabeli pytania do sondy
$zapytanie1 = "SELECT * FROM pp_sondapytania WHERE id=$numersondy ORDER BY id LIMIT 1";
$wykonaj1 = mysql_query ($zapytanie1);
$wiersz=@mysql_fetch_array ($wykonaj1);
$pyt = $wiersz['pytanie'];
//pobranie z drugiej tabeli opcji i wynikow do sondy
$zapytanie = "SELECT * FROM pp_sondaodp WHERE id_pytania=$numersondy";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=@mysql_fetch_array ($wykonaj)) {
echo ("$pyt $odpowiedz $punkty");
}
$numersondy--;
}
?>[/php:1:14ddc748d3]
problem jest w tym ze wyswietla mi przy kazdej opcji pytanie mimo ze mam ORDER BY id LIMIT 1 a ma wyswietlac tylko 1 raz
kszychu
20.05.2004, 10:55:20
Wywal echo $pyt przed while.
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.