09. august 2004 - 12:14Der er
8 kommentarer og 1 løsning
unlimited categoy
Goddag,
Jeg har prøvet på at lave en kode, så man kan lave unlimited category, men det kan jeg ikke rigtige finde ud af, jeg har lavet min kode sådan der, det kan være nogen der har en ide om hvordan man gøre det, så må i meget gerne post tilbage, på forhånd takker jeg for din hjælp :)
$sql = mysql_query("select * from forum"); while ($get = mysql_fetch_array($sql)) { echo ">: ".$get["name"]; $num = mysql_query("select * from forum where parent_id=".$get["fid"]."") or die(mysql_error()); $number = mysql_num_rows($num); if ($number>=1) { $query = mysql_fetch_array($num); for($i=0;$i<$number;$i++) { echo ">>: ".$query["name"]."<br>"; } } }
Hvordan kan jeg få den altid til at gentag forløkken så lægge der er en undercategory ?
Jeg ved ikke om det giver dig en ide hvordan jeg skal skrive koden, jeg har faktisk skrevet 3 forskellige kode, jeg kan kun få printet dem ud på den her måde:
head1 - sub1 -- sub2 --- sub3
header2 - sub1 -- sub2
Havde svært ved at gå tilbage i koden, og tjekke om der stadigvæk findes andre "sub-categori" :(
Ok, her er en anden eks. jeg har arbejde med nu i 1 time, den virker lidt på en bedre måde:
<?php $start = 1;
function countParent() { for ($i=1;$i<count($GLOBALS['$last_categori'])+1;$i++) { global $start; //$sql = mysql_query("select * from forum_old where ID $ID = $GLOBALS['$last_categori'][count($GLOBALS['$last_categori'])-$i]; echo "select * from forum_old where parent_id='".$ID."' AND idsort='".$start."'"; $sql = mysql_query("select * from forum_old where parent_id='".$ID."' AND idsort='".$start."'") or die(mysql_error()); if (mysql_num_rows($sql) >= 1) { echo "<b>found</b><br>"; $query = mysql_fetch_array($sql); getParent($query["ID"]); } else { echo "<b>NOT Found</b><br>"; } } }
function getParent($last_ID) //, $checkID='0' { global $start, $last_categori;
$sql = "SELECT * FROM forum_old WHERE ".$extra." AND idsort = '".$start."'"; echo "<br><i>$sql</i><br>"; $db = mysql_query($sql) or die(mysql_error()); if (mysql_num_rows($db) >= 1) { $query = mysql_fetch_array($db); echo " - ".$query["name"]." (<b>ID:</b> ".$query["ID"].") (<b>ParentID:</b> ".$query["parent_id"].") (<b>IDSORT:</b> ".$start.")";
// Gemme den nuværende PARENT:ID $GLOBALS['$last_categori'][] = $query["parent_id"]; } else { $start++; echo countParent(); } }
$sql = mysql_query("select * from forum_old") or die(mysql_error()); while ($query = mysql_fetch_array($sql)) { if ($query["parent_id"] <= 0) { $start = 1; echo $query["name"]." (<b>ID:</b> ".$query["ID"].") (<b>ParentID:</b> ".$query["parent_id"].") (<b>IDSORT:</b> ".$start.")<br>"; } else { // Underkategori overføre til funktion. getParent($last_ID); } $last_ID = $query["ID"];
}
?>
Det er hvad den viser på skærmen: Head (ID: 1) (ParentID: 0) (IDSORT: 1)
SELECT * FROM forum_old WHERE parent_id = '1' AND idsort = '1' - Sub1 (ID: 2) (ParentID: 1) (IDSORT: 1) SELECT * FROM forum_old WHERE parent_id = '2' AND idsort = '1' - Sub2-1 (ID: 3) (ParentID: 2) (IDSORT: 1) SELECT * FROM forum_old WHERE parent_id = '3' AND idsort = '1' - Sub3 (ID: 8) (ParentID: 3) (IDSORT: 1) SELECT * FROM forum_old WHERE parent_id = '7' AND idsort = '1' select * from forum_old where parent_id='3' AND idsort='2'NOT Found select * from forum_old where parent_id='2' AND idsort='2'found
SELECT * FROM forum_old WHERE parent_id = '7' AND idsort = '2' select * from forum_old where parent_id='3' AND idsort='3'NOT Found select * from forum_old where parent_id='2' AND idsort='3'NOT Found select * from forum_old where parent_id='1' AND idsort='3'NOT Found select * from forum_old where parent_id='1' AND idsort='3'NOT Found Head (ID: 9) (ParentID: 0) (IDSORT: 1)
SELECT * FROM forum_old WHERE parent_id = '9' AND idsort = '1' - Come ON (ID: 10) (ParentID: 9) (IDSORT: 1) SELECT * FROM forum_old WHERE parent_id = '10' AND idsort = '1' - ffff (ID: 11) (ParentID: 10) (IDSORT: 1) SELECT * FROM forum_old WHERE parent_id = '11' AND idsort = '1' select * from forum_old where parent_id='10' AND idsort='2'NOT Found select * from forum_old where parent_id='9' AND idsort='2'NOT Found select * from forum_old where parent_id='3' AND idsort='2'NOT Found select * from forum_old where parent_id='2' AND idsort='2'found
SELECT * FROM forum_old WHERE parent_id = '7' AND idsort = '2' select * from forum_old where parent_id='10' AND idsort='3'NOT Found select * from forum_old where parent_id='9' AND idsort='3'NOT Found select * from forum_old where parent_id='3' AND idsort='3'NOT Found select * from forum_old where parent_id='2' AND idsort='3'NOT Found select * from forum_old where parent_id='1' AND idsort='3'NOT Found select * from forum_old where parent_id='1' AND idsort='3'NOT Found
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.