Hallo!
Nachdem ich es stundenlang probiert habe, und noch immer nicht auf einen grünen Zweig gekommen bin, frage ich euch.
Ich habe das Thema schon kurz in dem Thread "[Funktion] funktioniert nicht" angesprochen.
Vielleicht werft ihr einen Blick in die mysql-Tabelle! (ganz unten)
Das soll ungefähr so ausschauen:
Es gibt ein Hauptmenü auf der Ebene 0 (Home, Kontakt, Familie)
Wenn man auf Familie klickt, soll sich unter dem Hauptmenü ein Untermenü öffnen (mit den links "ich" und "Der Rest")
Wenn man jetzt auf "Ich" klickt, soll dann "Charakter" und "Hobbies" auftauchen.
z.b.:
Und das ist der PHP-Code, mit dem ich das versuche zu realisieren
Meine Idee war, dass die Funktion ein array erzeugt, mit allem drinnen; von der Seite im Hauptmenü bis zur Seite die man angezeigt bekommt.
Das array sollte dann ausgelesen werden, und Schritt für Schritt die richtigen Menüteile zusammenfügen.
Sehr wichtig ist dabei das "?p=", das später die richtige datei includet.
Hoffentlich kann das irgendwer verstehen, und mir helfen - ansonsten fragt mich...
mfg thomas
Nachdem ich es stundenlang probiert habe, und noch immer nicht auf einen grünen Zweig gekommen bin, frage ich euch.
Ich habe das Thema schon kurz in dem Thread "[Funktion] funktioniert nicht" angesprochen.
Vielleicht werft ihr einen Blick in die mysql-Tabelle! (ganz unten)
Das soll ungefähr so ausschauen:
Es gibt ein Hauptmenü auf der Ebene 0 (Home, Kontakt, Familie)
Wenn man auf Familie klickt, soll sich unter dem Hauptmenü ein Untermenü öffnen (mit den links "ich" und "Der Rest")
Wenn man jetzt auf "Ich" klickt, soll dann "Charakter" und "Hobbies" auftauchen.
z.b.:
Code:
<table> <tr> <td> Home </td> <td> Kontakt </td> <td> Familie </td> </tr> <tr> <td> Ich </td> <td> Der Rest </td> </tr> <tr> <td> Charakter </td> <td> Hobbies </td> </tr> </table>
PHP-Code:
<html>
<head>
<title>
CMS
</title>
</head>
<body>
<table width="80%" border="1" cellpadding="5px">
<tr>
<td colspan="2">
<h1>Hallo</h1>
</td>
</tr>
<tr>
<td colspan="2">
<table border="1" width="100%">
<tr>
<?php
/*
function next_child(start_site){
$cdfg=start_site;
$counter=0;
do {
$parent_sql="SELECT * FROM links WHERE parent=$cdfg";
$parent_query=mysql_query($parent_sql);
while($parent_data=mysql_fetch_array($parent_query)){
$start[]=$parent_data[page];
}
while($start[]){
} while(0);
*/
$p = ($_GET[p]=="") ? 0 : $_GET[p];
$db=mysql_connect('localhost','root','');
mysql_select_db('cms',$db);
$is_par="SELECT ebene FROM links WHERE page=$p";
$ebene = mysql_fetch_array(mysql_query($is_par));
$ebene = $ebene[ebene];
$sql_max="SELECT max(ebene) maximum FROM links;";
$query_ebene=mysql_query($sql_max);
$maximum_ebene= mysql_fetch_array($query_ebene);
$maximum_ebene= $maximum_ebene[maximum]; #$maximum_ebene hat die höchste ebene gespeichert
$h_this = mysql_query("SELECT * FROM links WHERE page=$p");
$h_this = mysql_fetch_array($h_this);
function all_children(){
global $maximum_ebene;
global $p;
global $h_this;
$cdfg=$p;
$counter=0;
while($counter<=$maximum_ebene){
if($h_this[ebene]==0){
$p_in_e = mysql_query("SELECT * FROM links WHERE ebene=$counter && parent=$cdfg") or die(mysql_error());
}else{
$p_in_e = mysql_query("SELECT * FROM links WHERE ebene=($counter-1) && page=$h_this[parent]") or die (mysql_error());
}
while($data=mysql_fetch_array($p_in_e)){
$child[] .= "$data[ebene] -> \"" . $data[page] . "\""; #hier wird ins array geschrieben, welche einträge die hauptseite als mutterseite haben und auf welcher ebene dieses sind
#echo "Ebene: $counter - Seite: $data[page] - Name: $data[name] - parent: $data[parent] <br>";
}
$counter++;
}
return $child;
}
$child = all_children();
echo $h_this[ebene];
echo "<br>";
echo implode(", ", $child);
#echo "<br>";
#echo $child[1];
$sql="SELECT * FROM links WHERE parent=0";
$query=mysql_query($sql) or die(mysql_error());
$sql2="SELECT * FROM links WHERE parent=$p;";
$query2=mysql_query($sql2) or die(mysql_error());
$sql_ebene="SELECT ebene FROM links WHERE parent=$p LIMIT 0,1";
$query_ebene=mysql_query($sql_ebene);
$max_ebene= mysql_fetch_array($query_ebene);
$max_ebene= $max_ebene[ebene];
$ab = 0;
while($ab<=$max_ebene){
global $data;
echo $data[page];
echo "<tr>";
switch($ab){
case 0:
$sql="SELECT * FROM links WHERE ebene=$ab";
break;
default:
$sql="SELECT * FROM links WHERE ebene=$ab && parent=$p";
break;
#default:
#$sql="SELECT * FROM links WHERE page=$data[parent]";
}
$query=mysql_query($sql) or die("kk" . mysql_error());
while($data=mysql_fetch_array($query)){
echo "<td><a href='index.php?p=$data[page]'>$ab - $data[name]</a></td>";
}
echo "</tr>";
$ab++;
}
# echo $schreib;
# echo "hallo";
# if($data2[parent]==$p ){
# echo "<td>$data2[name]</td>";
# }
# }
# $sql="SELECT max(ebene) maximal FROM links";
# $query=mysql_query($sql) or die(mysql_error());
# $max_anzahl=mysql_fetch_array($query);
# echo "max: " . $max_ebene;
/*switch($ab){
case 0:
$sql="SELECT * FROM links WHERE ebene=0";
break;
default:
$sql="SELECT * FROM links WHERE parent=$p";
break;
#default:
#echo $data[page];
#$sql="SELECT * FROM links WHERE parent=$data[page]";
}
*/
/*
while($data=mysql_fetch_array($query)){
echo "<td><a href='index.php?p=$data[page]'>$data[name]</a></td>";
}
echo "</tr><tr>";
while($data2=mysql_fetch_array($query2)){
echo "<td>$data2[name]</td>";
}
*/
#$sql_ebene="SELECT max(ebene) maximal FROM links";
mysql_close();
?>
</tr>
</table>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</body>
</html>
Das array sollte dann ausgelesen werden, und Schritt für Schritt die richtigen Menüteile zusammenfügen.
Sehr wichtig ist dabei das "?p=", das später die richtige datei includet.
Hoffentlich kann das irgendwer verstehen, und mir helfen - ansonsten fragt mich...
mfg thomas