ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
505
505
EMPFEHLEN
-
Hallo,
kann mir einer sagen was ich bei diesem Script falsch mache!
bekomme immer den Fehlercode:
Oder fehlt da ne Datei?
Fatal error: Call to a member function query() on a non-object in \navi\index.php on line 17
http://www.tutorials.de/forum/php-tu...von-mysql.html
Bin für jede Hilfe Dankbar!!
-
Hallo,
poste doch mal deinen Quellcode, denn ohne können wir auch nur raten
und das wirst du doch bestimmt nicht wollen.
mfg
forstermWie man Fragen richtig stellt
Wichtig: Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
__________________
.:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.
-
PHP-Code:
<?php
/**
* @author David Däster und Simon Däster
* @package JClubCMS
* Index.php
* License: GPL
*
* Diese Seite ist für die Anzeig der Navigation veranwortlich
* und lädt die notwendigen Module
*/
/* Verbindung zur Datenbank*/
include ("include/config.php");
$mysql->query("SELECT menu_ID, menu_name FROM menu WHERE menu_topid=0 ORDER BY menu_position ASC");
$nav_array = array();
$i = 0;
while ($nav_data = $mysql->fetcharray()) {
$nav_array[$i] = array('menu_ID'=>$nav_data["menu_ID"], 'menu_name'=>$nav_data["menu_name"]);
$i++;
}
//$smarty->assign("nav", $nav_array);
/** Kontrolle der Get-Variable $_GET['nav_id']. Zur Vereinfachung in $nav_id gespeichert*/
$nav_id = (int) $_GET["nav_id"];
if ($nav_id <= 0) {
$nav_id = $nav_array[0]['menu_ID'];
}
/**
* Hier werden alle Verweise ausgelesen: ID, höhere Navigation (topid), Position, Name,
* zugehörige Seite (page) und ob Modul oder Page £
*/
$mysql->query("SELECT * FROM menu WHERE menu_ID = $nav_id");
$page_data = $mysql->fetcharray();
$page_id = $page_data["menu_page"];
/**
* Hier folgt das
* ***************M E N U ***************
* ES wird kompliziert
*/
/**
* Der gerade aktive Navigationslink und alle direkt darüberliegende Links
* werden im Array $root_array gespeichert.
*
* Aufbau:
* topid: 0 -Gallery
* -Gästebuch
* Und dann gehts weiter nach unten
* Info: Einträge mit 'menu_display' = 0 werden nicht angezeigt
*
*/
$child_array = array();
$root_array = array();
//Die Stufe beginnt von unten zu zählen, statt von oben. Wird am Schluss umgerechnet
$invlevel = 1;
//Alle Einträge unterhalb des $nav_id Eintrags werden gelesen
//Sie haben den $invlevel 1
$mysql->query("SELECT menu_ID, menu_topid, menu_name FROM menu WHERE menu_topid = $nav_id and `menu_display` != '0' ORDER BY menu_position");
$i = 0;
while ($subnav_data = $mysql->fetcharray()) {
$child_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel);
$i++;
}
//Die nächsthöhere TopID
$next_topid = $page_data["menu_topid"];
//Solange durchlaufen lassen bis obersten Navitationsteile erreicht sind (top_id == 0)
while (($next_topid != 0 || $next_topid != false)) {
$i = 0;
// $top_id kann aus dem Array $child_array herausgelesen werden
// beim 1. Durchgang kann das Child-Array leer sein, man kann dafür die $nav_id nehmen
if(empty($child_array[0]["menu_topid"])) {
$top_id = $nav_id;
} else {
$top_id = $child_array[0]["menu_topid"];
}
//Erhöhung des $invlevels, da eine Stufe weiter Richtung oben
$invlevel++;
$mysql->query("SELECT menu_ID, menu_topid, menu_name FROM menu WHERE menu_topid = $next_topid and `menu_display` != '0' ORDER BY menu_position ASC");
//Die Tabelle auslesen
while($subnav_data = $mysql->fetcharray()) {
$root_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel);
/**
* //Wenn die menu_ID die Top_id des Child-Array ist, heisst das,
* menu_ID liegt direkt darüber
* Z.B Eintrag 2.1
* Eintrag 2.1.1
* Eintrag 2.1.2
*
* Eintrag 2.1 und Eintrag 2.1.1 liegen gerade übereinander
*
* Array werden zusammengefügt.
* Anzahl der Elemente wird in $i gespeichert, damit weder überschrieben wird noch sich eine Lücke bildet
*/
if($root_array[$i]["menu_ID"] == $top_id) {
$root_array = array_merge($root_array, $child_array);
//Minus 1, weil es sonst einen Zwischenraum gibt. Z.B. $root_array[2], dann $root_array[4]
$i = count($root_array) - 1;
}
$i++;
}
$child_array = $root_array;
$root_array = array();
/**
* Naechste top_id herausfinden
*/
//Hier wird noch mit der alten $next_topid gerechnet. Die Topid vom höheren Menu wird gelesen
$mysql->query("SELECT menu_topid FROM menu WHERE menu_ID = $next_topid and `menu_display` != '0' LIMIT 1");
$subnav_data = $mysql->fetcharray();
//Neues $next_topid
$next_topid = $subnav_data["menu_topid"];
}
//Ende Whileschleife
/**
* Die $invlevels müssen noch umgekehrt werden. Momentan ist der tiefste Eintrags-Lebel 1,
* aber der höchste Eintragslevel soll 1 werden
*/
//Das Anzahl Level wird abgespeichtert
$anzlevel = $invlevel;
$invlevel = 0;
$number = count($child_array);
//Die Umrechnunsschleife, die Levels werden neu gesetzt: Das Höchste jetzt das Tiefste und umgekehrt
for($i = 0; $i < $number; $i++) {
$invlevel = $child_array[$i]['level'];
$child_array[$i]['level'] = $anzlevel - $invlevel + 1;
}
//Die Subnav_array mit dem vollständigen child_array füllen
$subnav_array = $child_array;
/**
* Das komplizierte ist jetzt vorbei
* ************** Menu Ende ***********
*
*/
$mysql->query("SELECT * FROM content WHERE content_ID = $page_id");
$data = $mysql->fetcharray();
$content_title = $data["content_title"];
$content_text = $data["content_text"];
?>
-
06.05.07 14:47 #4
Was steht denn in der config.php?
Mir fehlt da irgendwie die Klasse mysql bzw. deren Instanziierung.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
PHP-Code:
<?php
$host = "localhost"; // Adresse des Datenbankservers, meistens localhost
$user = "User"; // Ihr MySQL Benutzername
$pass = "passwort"; // Ihr MySQL Passwort
$db = "menu"; // Name der Datenbank
$link = mysql_connect($host, $user, $pass) or die ("Keine Verbindung zu der Datenbank möglich.");
mysql_select_db($db, $link);
?>
-
Hallo,
also so wie's ausschaut, fehlt dir bzw. dem Tutorial eine MySQL Datenbankklasse.
mfg
forstermWie man Fragen richtig stellt
Wichtig: Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
__________________
.:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.
-
Hallo,
kannst du mir etwas genauer sagen was da fehlt,
oder wie ich es zustande bekomme es fertig zustellen
Danke!
Ähnliche Themen
-
Fehler in der Navigation + mod_rewrite?
Von falkman im Forum Hosting & WebserverAntworten: 3Letzter Beitrag: 20.10.09, 11:45 -
Navigation fehler !
Von steven90 im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 02.10.07, 14:55 -
Hilfe bei einer Dynamischen Navigation gesucht.
Von messmar im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 04.05.05, 20:07 -
am Verzweifeln : Navigation fehler / Problem
Von Ice-1982 im Forum Flash PlattformAntworten: 2Letzter Beitrag: 17.02.02, 18:20





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren