PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Beim zweiten Durchlauf einer Page keine Datenbankausgabe mehr (https://www.php-resource.de/forum/php-developer-forum/50326-beim-zweiten-durchlauf-einer-page-keine-datenbankausgabe-mehr.html)

Godfrey 09-02-2005 01:54

Beim zweiten Durchlauf einer Page keine Datenbankausgabe mehr
 
Hallo,

brauch mal Hilfe.

Eine Datei soll mir eine Navigationsleiste erstellen, die aus der DB ausgelesen wird.

Der Code sieht so aus:

PHP-Code:

    include('../script/dbconnect.php');
    
    
$query mysql_query("
                 SELECT * 
                 FROM navi_datei 
                 WHERE name = LTRIM('$filemenuemain')||'%'
    "
);

    
$daten mysql_fetch_array($query);
// fuer Test
echo "Bin hier 1 ".$filemenuemain."<br>";
echo 
"Bin hier 2 ".$daten[id]."<br>";
// fuer Test

    
$zaehlermain 0;
    if(
$daten[id] > 0){
                    
$querymain mysql_query("
                     SELECT submenue, path, bezeichnung
                     FROM navigation
                     WHERE main=$daten[id]
                   "
);
       while(
$datenmain mysql_fetch_array($querymain)){
       ...... 

Nun habe ich das Problem, dass es beim ersten Aufruf funktioniert, beim zweiten aber keine Abfrage mehr an die DB gemacht wird. Ich erhalten an dann kein Ergebniss mehr. Es wird schon beim ersten Select nichts ausgegeben.

Ich hab es auch mit der Funktion require_once() versucht, da bekomme ich beim zweiten Mal eine Fehlermeldung.

Hoffe es kann mir jemand helfen, ich habe erst vor ein paar Wochen mit PHP angefangen und erst vor ein paar Tagen angefangen mysql einzubinden.

jupp.s 09-02-2005 02:17

was ist denn die genaue Fehlermeldung???? dann können wir dir vielleicht etwas besser helfen...

ess0r 09-02-2005 07:49

bin mir nicht sicher ob das was damit zu tun hat, aber wenn du ne Variable aus nem array auslesen willst kenn ich das nur so, das du dann das was du abfragen willst in ' ' stellen musst. In deinem fall also $daten['id'] wie gesagt weis nicht kenns nur so ist mir halt aufgefallen.

marc75 09-02-2005 09:23

es gibt da einen schönen Beitrag von Tobiaz, etwas weiter oben hier im Forum, einfach mal lesen und umsetzen.


Tip:

auch mal echo mysql_error(); benutzen.

Godfrey 09-02-2005 13:01

Zitat:

Original geschrieben von ess0r
....fall also $daten['id'] ...
Danke für die Hilfe, ich hab den Fehler gefunden. :)

Er lag an dieser Zeile:
PHP-Code:

include('../script/dbconnect.php'); 

Da andere Sites in einem Unterverzeichniss liegen konnte das Script nicht mehr gefunden werden. Habe es durch eine Variable ersetzt die dynamisch gesetzt wird:
PHP-Code:

include($pathpage.'script/dbconnect.php'); 

Zitat:

Original geschrieben von ess0r
....fall also $daten['id'] ...
Bei Arrays muss man es nicht in ' stellen, bei normalen Variablen aber schon. Warum auch immer, aber alles funktioniert nun bei mir. :)

@marc75
Danke für den Hinweis, habe ich auch gleich in den Code eingebaut. Naja, ich bin noch am lernen und da ist man für solche Hilfe eben dankbar. :)

asp2php 09-02-2005 13:24

Zitat:

Original geschrieben von Godfrey

Bei Arrays muss man es nicht in ' stellen,

bevor du sowas sagst, schau doch mal ins Manual: http://www.php.net/manual/en/language.types.array.php lese den Abschnitt ... do's and don'ts ... danach darfst du deine Aussage in aller Form korrigieren :D

Godfrey 09-02-2005 13:56

Zitat:

Original geschrieben von asp2php
bevor du sowas sagst, schau doch mal ins Manual: http://www.php.net/manual/en/language.types.array.php lese den Abschnitt ... do's and don'ts ... danach darfst du deine Aussage in aller Form korrigieren :D
Das bezog sich eigentlich auf die SQL-Abfrage, denn hier muss ich die ' verwenden:
PHP-Code:

$query mysql_query("SELECT * 
                 FROM navi_datei 
                 WHERE name = LTRIM('$filemenuemain')||'%'
    "
)
    or die....; 

$filemenuemain ist eine normale Variable

Hier kann ich es aber nicht verwenden:
PHP-Code:

$querymain mysql_query("SELECT submenue, path, bezeichnung
                     FROM navigation
                     WHERE main=$daten[id]
                   "
);
    or die....; 

Verwende ich $daten['id'] stat $daten[id] dann erhalte ich keine Ausgabe. Ansonsten war mir das mit den ' schon klar. Aber vielleicht mach ich noch was anderes falsch? Ich hab die Abfrage in " gesetzt.

ess0r 09-02-2005 13:58

klappt warscheinlich trotzdem weils kein string ist sondern ne zahl..
naja wenns klappt, ist doch gut ;)

wahsaga 09-02-2005 13:59

Zitat:

Original geschrieben von Godfrey
Verwende ich $daten['id'] stat $daten[id] dann erhalte ich keine Ausgabe. Ansonsten war mir das mit den ' schon klar. Aber vielleicht mach ich noch was anderes falsch?
http://www.php.net/manual/de/languag...string.parsing

ghostgambler 09-02-2005 14:58

Zitat:

Original geschrieben von Godfrey
PHP-Code:

include($pathpage.'script/dbconnect.php'); 


Man kann es sich auch kompliziert machen...

PHP-Code:

include($_SERVER['DOCUMENT_ROOT'] . '/script/dbconnect.php'); 

bringt das Gleiche und die Variable wird gesetzt...

Godfrey 09-02-2005 15:05

Zitat:

Original geschrieben von ghostgambler
Man kann es sich auch kompliziert machen...

PHP-Code:

include($_SERVER['DOCUMENT_ROOT'] . '/script/dbconnect.php'); 

bringt das Gleiche und die Variable wird gesetzt...

Öhmmm, Danke :)

Naja, mein PHP-Wissen ist noch sehr begrenzt nach 4 Wochen... Aber das spart mir wieder einiges an Arbeit... :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:29 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG