While Schleife wird nicht ausgeführt o_O

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

While Schleife wird nicht ausgeführt o_O

Beitrag 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
Zuletzt geändert von fanrpg am 25.08.2005 19:03, insgesamt 1-mal geändert.
Suche Hilfe
Mitglied
Beiträge: 105
Registriert: 29.12.2004 21:35

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

die

Code: Alles auswählen

while($cat_row = mysql_fetch_assoc($cat_query))
wird nicht ausgeführt das andere klappt perfekt
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

KB:knigge
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn die äussere Schleife nicht ausgeführt wird, können aber unmöglich die inneren ausgeführt werden.
KB:knigge
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
Zuletzt geändert von fanrpg am 25.08.2005 19:05, insgesamt 1-mal geändert.
Suche Hilfe
Mitglied
Beiträge: 105
Registriert: 29.12.2004 21:35

Beitrag 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?
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag 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
Antworten

Zurück zu „Coding & Technik“