Seite 1 von 2

While Schleife wird nicht ausgeführt o_O

Verfasst: 24.08.2005 21:47
von fanrpg
Also nen ganz anderes Problem also ich habe 2 while schleifen wo bei die kleinere ausgeführt (also die in der einen ausgeführt) doch die die grosse wird nicht ausgeführt wenn da nen neuerer Eintrag kommt wird immer der neuere genommen o_O und ich weiss nicht warum...
<?
$cat_sql 
"SELECT * FROM `cat` ORDER BY `stelle` ASC";
$cat_query mysql_query($cat_sql);
while(
$cat_row mysql_fetch_assoc($cat_query))
{
$catname $cat_row['name'];
$catdesc $cat_row['desc'];
$catstelle $cat_row['stelle'];

$topic_sql "SELECT * FROM `topic` WHERE `bycat` = '".$cat_row['ID']."'";
$topic_query mysql_query($topic_sql);

define('CAT_SQL'true);

if(
defined('CAT_SQL'))
{
include_once(
"template/$style/cat_topic.php");
while(
$topic_row mysql_fetch_assoc($topic_query))
{
$topic_id $topic_row['ID'];
$topicname $topic_row['name'];
$topicdesc $topic_row['desc'];
include(
"template/$style/topic_cat.php");
}
define('CAT_TOPIC_VIEW'true);
}
else
{
include_once(
"template/standard/cat_topic.php");
while(
$topic_row mysql_fetch_assoc($topic_query))
{
$topic_id $topic_row['ID'];
$topicname $topic_row['name'];
$topicdesc $topic_row['desc'];
include(
"template/standard/topic_cat.php");
}
define('CAT_TOPIC_VIEW'false);
}
}
?>
Wäre nett wenn mir jemand helfen könnte

Verfasst: 24.08.2005 21:58
von Suche Hilfe
Welche wird denn genau ausgeführt? Wie ich sehe hast du noch eine in der Else. Also es kann sein das er nur das else ausführt. musst ma sehen was da kommt

Verfasst: 24.08.2005 22:01
von fanrpg
die

Code: Alles auswählen

while($cat_row = mysql_fetch_assoc($cat_query))
wird nicht ausgeführt das andere klappt perfekt

Verfasst: 24.08.2005 22:08
von Pyramide

Verfasst: 24.08.2005 22:13
von fanrpg
nein mit SQL hat das nichts zu tun... die eine Kategorie wird angezeigt und mysql_error() bring auch keinen Erfolg...

es wird einfach nicht die übergeordnete while() Schleife ausgeführt

Verfasst: 24.08.2005 22:28
von Pyramide
Wenn die äussere Schleife nicht ausgeführt wird, können aber unmöglich die inneren ausgeführt werden.

Verfasst: 24.08.2005 22:45
von fanrpg
doch die inneren werden ausgeführt...

Also es sieht so aus, die eine Kategorie mit kleinerer ID wird angezeigt, füge ich jetzt ne neue Kategorie mit höherer ID hinzu, wird auf dem Index die alte Kategorie mit der neuen ersetzt und nicht in einer schleife das alle angezeigt werden

Verfasst: 24.08.2005 22:57
von fanrpg
:o Warum kann ich nicht edittieren?

:o :o :o

Na ja egal ist garantiert nur ne Störung, auf jeden Fall mal hier die ganze Datei als .txt Datei...

http://fanrpg.kilu.de/myforum_web_index.html

Verfasst: 24.08.2005 23:30
von Suche Hilfe
Probier mal in der ersten while schleife echo $catname; einzufügen. Dann kann weningstens sicher sein das die erste schleife nicht ausgeführt wird
gibt es irgendwelche fehlermeldungen?

Verfasst: 25.08.2005 12:27
von mristau2k5
Also wie ich das Problem jetzt grad versteh wird nur die 1. Kategorie angezeigt und die dazugehörigen Topics, aber danach wird nicht mit der äußeren Schleife weitergemacht, sondern rausgesprungen.
Seh ich das richtig?

Ausserdem glaube ich, dass die Konstanten nicht wirklich gebraucht werden, die CAT_SQL wird auf true gesetzt und eine Zeile später abgefragt, also wenn die nicht in nem anderen Skriptteil benötigt sind, würde ich die draussen lassen.

Ich benutz normalerweisse für sql Abfragen mysql_fetch_row, aber ich mach mich mal schlau, wie mysql_fetch_assoc funktioniert und versuche eine primitive doppel-while schleife zu machen.

Zum Editieren, ich kann meinen Post editieren, das scheint wohl irgendwo fehlerhaft zu sein

lass mal vor der 1. Schleife mysql_num_rows($cat_query) ausgeben, das ist die Anzahl von Reihen, die für das Array gefunden wurden

Ausserdem benutzen sie in Beispielen auf php.net/mysql_fetch_assoc auch häufig Arrays als Variablen für mysql_fetch_assoc