Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
2 while Schleifen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
2 while Schleifen


 
minuta
26-02-2004, 17:03 
 
Hallo!
Ich möchte so eine Liste haben:
Kat1
-Frage1
-Frage2
-...

Kat2
-Frage1
-Frage2
-...

mit dem unteren code krige ich nur folg. raus:

Kat1
-Frage1
Kat2
Kat3
..
Also, die Zweite Schleife wird nur ein Mal durchgegangen...
kann mir jemand sagen wieso?
Danke für die Hilfe!

$k = "select distinct kat from tab0_faqs";
$kate = mysql_query($k, $connection_id);
while ($row = @mysql_fetch_array($kate))
{

echo "<strong>".$row[kat]."<br></strong>";

$f = "select * from tab0_faqs where kat=$row[kat] ORDER by id";
$fra = mysql_query($f, $connection_id);
while ($row = @mysql_fetch_array($fra))
{
echo " <li><a href= ... >".$row[frage]."</a></li><br>";
}

 
marc75
26-02-2004, 17:16 
 
$k = "select distinct kat from tab0_faqs";
$kate = mysql_query($k, $connection_id);
while ($rowkat = mysql_fetch_array($kate))
{

echo "<strong>".$rowkat[kat]."<br></strong>";

$f = "select * from tab0_faqs where kat=$rowkat[kat] ORDER by id";
$fra = mysql_query($f, $connection_id);
while ($rowfra = mysql_fetch_array($fra))
{
echo " <li><a href= ... >".$rowfra[frage]."</a></li><br>";
}
}

 
minuta
26-02-2004, 17:29 
 
danke, aber leider hat es nichts gebracht...
rowkat, rowfra..

läuft die Fragen-Schleife nur ein mal durch

 
derHund
26-02-2004, 17:52 
 
hmm,

$f = "select * from tab0_faqs where kat=$row[kat] ORDER by id";

$f = "select * from tab0_faqs where kat='".$row['kat']."' ORDER by id";

 
jochenj
26-02-2004, 17:58 
 
an der syntax dürfte es so nicht liegen, wobei die syntax wirklich etwas "knapp" bemessen wurde.

frage: liegen überhaupt die entsprechenden datensätze vor?
wurde $f bzw $k mal mit echo ausgegebn und dieser string in phpmysql getestet?

werden irgendwelche fehler angezeigt?

 
minuta
26-02-2004, 18:15 
 
Klar wird was angezeigt..
also, dass kommt raus
mit dem unteren code krige ich nur folg. raus:

Kat1
-Frage1
-Frage2
Kat2
Kat3
..

Also nur Fragen zur Kategorie 1....und Kategorien selbst (kat1, kat2...), aber nicht die Fragen zu den allen restlichen Kategorien (von 2 bis...)

;-(....

 
jochenj
26-02-2004, 18:21 
 
zeig mal die datenbank struktur mit ein paar beipieldatensatzen her

 
minuta
26-02-2004, 18:29 
 
Die DB ist in ordnung, ich kriege auch alles raus (für editieren und sw)
4 Felder
id
frage
antwort
kat

ist mit datensätzen gefüllt, etwa
1
de
frage1
antwort1

 
otto-mueller
26-02-2004, 19:31 
 
Hallo,

frage: liegen überhaupt die entsprechenden datensätze vor?
wurde $f bzw $k mal mit echo ausgegebn und dieser string in phpmysql getestet?
Klar wird was angezeigt..
also, dass kommt raus
mit dem unteren code krige ich nur folg. raus:

Kat1
-Frage1
-Frage2
Kat2
Kat3

Die Frage ist, ob für die restlichen Kats auch Frage-Datensätze existieren oder nicht?

Probier mal damit:

$k = "SELECT DISTINCT KAT FROM TAB0_FAQS";
$kate = mysql_query($k, $connection_id);
while ($Kategorie = mysql_fetch_row($kate))
{
echo "<strong>".$Kategorie."<br></strong>";
$f = "SELECT * FROM TAB0_FAQS WHERE KAT='".$Kategorie."'ORDER BY ID";
$fra = mysql_query($f, $connection_id);
while ($Frage = mysql_fetch_row($fra))
{
echo " <li><a href= ... >".$Frage."</a></li><br>";
}
}

Außerdem wäre es besser, wenn du deine Tabelle in "Normal" From bringen würdest. Also 2 Tabellen daraus machen tblKategorien, tblFragen (das nur am Rande...)
Gruß, Otto


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:38 Uhr.