Danke Junx & MädLs!
ohne euch hätt ichs net geschafft
mfg
Beiträge von Jack Daniels
-
-
Wow!
Das funzt =)
Tausend dank!!!!!
Du bnsit für mich der größte *g*
Um das Verständnis zu vervollständigen:
Warum benutzt du keine Klammern bei den If-Abfragen?
Woher weiß man dann wann die IF-Abfrage aufhört?
Und das <?=$row['Name']; ?> kann man anstatt <? echo ... ?> benutzen?EDIT:
zur ersten und zweiten frage:
Kann das sein, dass es dann nur auf die nexte zeile sich auswirkt? -
Hi nochmal
Danke für die Antworten!Mir nicht:
Danke für die Richtigstellung des Vergleichesoperator =)
Warum ich diese komischen Variablen nehme?
Folgendes: wenn ich nun einfach $row nehme,
funzt das schon, nur sobald das script dann eine 2.te 3.te oder 4.te schleife benutzt, die auch mit $row, $sql und $result arbeiten, überschreiben die sich gegenseitig und es funzt nich mehr, daher brauch ich so iene dynamische Variabel, die automatisch bei jeden Durchgang ($i) eben den Namen ändert.Zitat
also im großen und ganzen wegschmeissen und neu überlegen und nochmal versuchen...
Das warn schon meine größten Geisteserzeugnisse, die ich bisher nur irgendwie zusammen kriege :-/.... bin noch nicht so gut und da steh ich vor ein Prob, das noch zu groß für mich ist.
Kapier nicht warum das nicht läuft...Verstehe nicht wie man das mit Arrays bewerkstelligen soll,
vorallem dass das richtige benutzt wird? Meisnt du so:
$row['$i'] ? Warum verbraucht das dann weniger Speicher als die dynamische Variabel?Zitatda es bei einer rekursuvien funktion nätig währe die parnt id zu übergeben..
Ich hab überhaupt keine Ahnung wie man mit rekursiven Funktionen umgeht,...das ist meine erstelol
Zitatwas soll
while(${"row".$i} = mysql_fetch_assoc(${"result".$i}));
am ende der datei...
Naja, das ist eben das Ende der Do-While-Schleife um die Kategorie in diesem Bereich anzuzeigen.
Ich kenne keine bessere Möglichkeit um alle Array-Elemente auslesen zu lassen :-/
While weil es ja irgendwann aufhören muss solang nix mehr gibt =)Hoffe ihr könnt mir weiterhelfen!
Mfg JackDaniels!EDIT:
wollte ez ma die dynamischen Variablen in arrays umschrieben...
aber bei sowas wie
${"row".$i}['Name'] geht das nicht mehr oder?
Oder wie schreibt man Arrays in Arrays?
$row['$i['Name']'] ? so? -
Hi Leute!
Ich versuche gerade mir ein kleines Archiv zu erstellen,
dieses braucht eben natürlich Kategorien und sogar Unterkategorien!
Soweit so gut, nur ich will eben auch, dass ich unbegrenzt Unterkategorien machen kann.So nun das Problem:
Eine ewig Schleife! Warum is mir klar... da ich die Funktion in die selbige Funktion eingesetzt habe.
Aber wenn die IF-Abfrage in der Funktion ungültig wird, müsste doch diese Schleife unterbrochen werden, und ein Ende finden.... ???Hab alles versucht im PHP-Code zu erklären... dürfte evtl verständlich sein
Falls nicht fragt mich! Danke im Voraus!Mfg me =)
Hier der code (hoffe ihr könnt was damit anfangen )
PHP
Alles anzeigen<?php # Zur DB connecten # include "db_connect.php" /// DB - Install //////////////////////////// //////////// Kategorien ///////////////////// $table = 'Kategorien'; $sql = "CREATE TABLE IF NOT EXISTS `". $table ."` ( `ID` INT AUTO_INCREMENT PRIMARY KEY, `Name` TEXT, `Parent` INT ); "; mysql_query($sql) OR die(mysql_error()); ///////////////////////////////////////////// ///////////////////////////////////////////// ?> <h1>Archiv</h1> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <?php /// Funktion erstellen um herauszufinden, ob es noch Unterkategorien gibt, /// falls ja hinschreiben, dann checken ob es in diesen Unterkategorien /// nochmal Unter-unter-Kategorien gibt, /// falls ja.......... usw.... /// falls nein (irgendwann sollte es keine Unterkategorien geben außer DB is unendlich) /// schließen sich die Schleifen und fertig. function check_and_post() { $parent = ${"row".$i}['ID']; $i++; ${"sql".$i} = "SELECT * FROM Kategorien WHERE Parent = '". $parent ."' ORDER BY ID ASC"; ${"result".$i} = mysql_query(${"sql".$i}) OR die(mysql_error()); ${"row".$i} = mysql_fetch_assoc(${"result".$i}); if( ${"row".$i} !== false ) { ?> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <?php do { ?> <tr> <td width="15" align="right"> - </td> <td align="left"> <?php echo ${"row".$i}['Name']; ?> </td> </tr> <?php check_and_post(); ?> <?php } while(${"row".$i} = mysql_fetch_assoc(${"result".$i})); ?> </table> </td> </tr> <?php } $i = $i - 1; } /// Start //// $i = 0; ${"sql".$i} = "SELECT ID, Name, Parent FROM Kategorien WHERE Parent = 'false' ORDER BY ID ASC"; ${"result".$i} = mysql_query(${"sql".$i}) OR die(mysql_error()); ${"row".$i} = mysql_fetch_assoc(${"result".$i}); do { ?> <tr> <td width="100%" align="left"> <?php echo ${"row".$i}['Name']; ?> </td> </tr> <?php check_and_post(); ?> <?php } while(${"row".$i} = mysql_fetch_assoc(${"result".$i})); ?> </table>