Beim zweiten Durchlauf einer Page keine Datenbankausgabe mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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.

  • #2
    was ist denn die genaue Fehlermeldung???? dann können wir dir vielleicht etwas besser helfen...
    .
    .http://www.Nightkillerz.de
    .

    Kommentar


    • #3
      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.
      nooby ist besser als gar nicht angangen ;D

      Kommentar


      • #4
        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.
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          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'); 
          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.

          Kommentar


          • #6
            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

            Kommentar


            • #7
              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
              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.

              Kommentar


              • #8
                klappt warscheinlich trotzdem weils kein string ist sondern ne zahl..
                naja wenns klappt, ist doch gut
                nooby ist besser als gar nicht angangen ;D

                Kommentar


                • #9
                  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
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    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...

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      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...

                      Kommentar

                      Lädt...
                      X