erster Datensatz der Datenbank fehlt immer

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

  • erster Datensatz der Datenbank fehlt immer

    Guten Morgen!

    Bin mal wieder zu dämlich.

    Ich mache folgendes:

    PHP-Code:
    $query "SELECT * FROM profile WHERE 1 AND (diverse Bedingungen, die je nach Eingabe des Users variieren)";

     
    $result mysql_query($query);
     
    $arrayprofil mysql_fetch_row($result);

      while(
    $arrayprofil mysql_fetch_row($result))
    {
    //ausgabe

    Egal, wie ich es anzeigen lasse, der erste Eintrag in der Datenbank fehlt immer. Es liegt auch nicht am Datensatz, wenn ich den nämlich lösche, fehlt der neue erste Datensatz auch wieder.

    Wenn ich einen
    SELECT COUNT(irgendeineSpalte,die immer gefüllt ist)
    mache, dann stimmt das Ergebnis seltsamerweise.

    In der ausgabe ist ein Haufen Code, es wird ein Datum zusammengebaut und berechnet und eben der ganze Kram aus der Datenbank angezeigt. Kann mir eigentlich nicht vorstellen, daß es daran liegt.

    Aber vielleicht kennt jemand das Problem...

    Danke schonmal,
    Coniaric
    Gruß, Coni
    ~~ codito ergo sum - ich code, also bin ich! ~~

  • #2
    Re: erster Datensatz der Datenbank fehlt immer

    Egal, wie ich es anzeigen lasse, der erste Eintrag in der Datenbank fehlt immer. Es liegt auch nicht am Datensatz, wenn ich den nämlich lösche, fehlt der neue erste Datensatz auch wieder.
    schön, wenn man schon vor dem lesen des threads die antwort weiß - sehr gut gewählter titel http://www.php-resource.de/forum/ima...ons/icon14.gif
    PHP-Code:
    // eine row fetchen! die erste, die dir wohl fehlt!
    $arrayprofil mysql_fetch_row($result);
    // alle andren fetchen
    while($arrayprofil mysql_fetch_row($result)) 
    got it?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Re: Re: erster Datensatz der Datenbank fehlt immer

      Jo, da hast Du schonmal recht - hab ich glatt übersehen, vielen Dank!
      Klappt aber trotzdem noch nicht.
      Sieht jetzt so aus:

      PHP-Code:
      $query "SELECT * FROM profile WHERE 1 AND (Bedingungen)";
      echo
      "<br>query= $query"//um zu sehen, ob das query stimmt
       
      $result mysql_query($query);

        while(
      $arrayprofil mysql_fetch_row($result))
      {
      echo
      "....";

      Ausgabe des Querys:
      query= SELECT * FROM profile WHERE 1 LIMIT 0, 30
      (Es sind 10 Einträge, 9 werden angezeigt)

      Was stimmt jetzt noch nicht?
      Es fehlt immernoch der erste Eintrag...


      Original geschrieben von derHund
      schön, wenn man schon vor dem lesen des threads die antwort weiß - sehr gut gewählter titel http://www.php-resource.de/forum/ima...ons/icon14.gif
      PHP-Code:
      // eine row fetchen! die erste, die dir wohl fehlt!
      $arrayprofil mysql_fetch_row($result);
      // alle andren fetchen
      while($arrayprofil mysql_fetch_row($result)) 
      got it?
      Gruß, Coni
      ~~ codito ergo sum - ich code, also bin ich! ~~

      Kommentar


      • #4
        Re: Re: Re: erster Datensatz der Datenbank fehlt immer

        Original geschrieben von Coniaric
        Jo, da hast Du schonmal recht - hab ich glatt übersehen, vielen Dank!
        Klappt aber trotzdem noch nicht.
        Sieht jetzt so aus:

        Ausgabe des Querys:
        query= SELECT * FROM profile WHERE 1 LIMIT 0, 30
        (Es sind 10 Einträge, 9 werden angezeigt)

        Was stimmt jetzt noch nicht?
        Es fehlt immernoch der erste Eintrag...
        sicher? gibt die query im php_my_admin ne andere rückgabe?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Nein, da stimmt die Ausgabe....

          Hier nochmal der komplette Teil des Codes:

          PHP-Code:
          $query "SELECT * FROM profile WHERE 1 ";
          if (isset(
          $pic)) { $query $query." AND pfad != '' "; }
          if (
          $plz!="") { $query $query." AND plz like '$plz%' "; }
          if (
          $mw=="1" || $mw=="2" ) { $query $query." AND mw=".$mw; }
           
          $query $query."LIMIT 0, 30";
          echo
          "<br>query= $query";
           
          $result mysql_query($query);
            while(
          $arrayprofil mysql_fetch_row($result))
          {
          $idres=$arrayprofil[0];
          ....

          Vielleicht liegt es an der Bastelei im query?
          Gruß, Coni
          ~~ codito ergo sum - ich code, also bin ich! ~~

          Kommentar


          • #6
            Könnt mir jemand erklären, was WHERE 1 zu bedeuten hat?
            PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

            Kommentar


            • #7
              Na, wo ein Datensatz vorhanden ist.
              Das brauche ich, fals in den nachfolgenden Bedingungen nichts drin steht, dann soll nämlich alles angezeigt werden.
              Aber das funzt ja eigentlich auch...

              Original geschrieben von Floriam
              Könnt mir jemand erklären, was WHERE 1 zu bedeuten hat?
              Gruß, Coni
              ~~ codito ergo sum - ich code, also bin ich! ~~

              Kommentar


              • #8
                Vielleicht liegt es an der Bastelei im query?
                hast du die _generierte_ query getested? wohl schon ...

                mach mal in der while
                PHP-Code:
                print_r ($arrayprofil); 
                das WHERE 1 ist wohl nen dummy, damit die bastel-query funktionert. WHERE 1 ist true, wie wohl WHERE 0 false ist.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Sorry, umgekehrt.
                  Wenn eine Bedingung gesetzt ist und KEIN where 1 drin steht, bekomme ich ne Fehlermeldung, weil der Query dann z.B.
                  query= SELECT * FROM profile AND mw=2 LIMIT 0, 30 heißt.
                  Das where kann ich ja natürlich nicht vor jede BEdingung setzen, weil es sonst mehrfach vorkommen könnte.
                  Gruß, Coni
                  ~~ codito ergo sum - ich code, also bin ich! ~~

                  Kommentar


                  • #10
                    Original geschrieben von derHund
                    hast du die _generierte_ query getested? wohl schon ...

                    Ja....
                    mach mal in der while
                    PHP-Code:
                    print_r ($arrayprofil); 
                    dann kommen alle 10 Einträge.....

                    das WHERE 1 ist wohl nen dummy, damit die bastel-query funktionert. WHERE 1 ist true, wie wohl WHERE 0 false ist.
                    [/QUOTE]

                    Genau.
                    Gruß, Coni
                    ~~ codito ergo sum - ich code, also bin ich! ~~

                    Kommentar


                    • #11
                      dann kommen alle 10 Einträge.....
                      supi, jetzt wissen wir bescheid ... problem gelöst?
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        Äh...Du vielleicht...warum kommen dann bei meiner Ausgabe nur 9??

                        Original geschrieben von derHund
                        supi, jetzt wissen wir bescheid ... problem gelöst?
                        Gruß, Coni
                        ~~ codito ergo sum - ich code, also bin ich! ~~

                        Kommentar


                        • #13
                          Original geschrieben von Coniaric
                          Äh...Du vielleicht...warum kommen dann bei meiner Ausgabe nur 9??
                          wenn du mal den inhalt der while postest, sag ichs dir
                          Die Zeit hat ihre Kinder längst gefressen

                          Kommentar


                          • #14
                            Die Ausgabe oder den Code?

                            code ist ne ganze Menge dazwischen...
                            Gruß, Coni
                            ~~ codito ergo sum - ich code, also bin ich! ~~

                            Kommentar


                            • #15
                              PHP-Code:
                              while($arrayprofil mysql_fetch_row($result))
                              {
                              $idres=$arrayprofil[0];
                              //print_r ($arrayprofil);echo"<br>";

                              //-----------alter
                              //gebdat aus Datenbank
                              $datdat=$arrayprofil[6];
                              //in deutsches format
                              $datdat explode("-",$datdat);
                              //abfragen, ob Gebdat vorhanden, wenn nicht, variable leeren
                              if($datdat[2]=="00" || $datdat[1]=="00" || $datdat[0]=="0000")
                              {
                              unset(
                              $alter);
                              }
                              else
                              {
                              $gebdatdat $datdat[2].".".$datdat[1].".".$datdat[0];
                              $alter 0;

                              // Umbauen Datum in die Form JJJJMMTT
                              $gebdt    explode("."$gebdatdat);
                              $gebdt    $gebdt[2].$gebdt[1].$gebdt[0];
                              $now    date("Ymd"time());
                                  WHILE (
                              $gebdt $now 9999) {
                                      
                              $alter++;

                                      
                              $gebdt $gebdt 10000;
                                  }
                                 }

                              if (
                              $idres == $id)
                              {
                              echo
                              "&nbsp;";
                              }
                              elseif (
                              $salter!="" && $alter != $salter)
                              {
                              echo
                              "salter=$salter,alter=$alter &nbsp;<br>";
                              }
                              else
                              {
                              if (
                              $arrayprofil[9] == "")
                              {
                              $foto="&nbsp;";
                              }
                              else {
                              $foto="<img src=\"../bilder/pic.gif\"";
                              }
                              $nick=$arrayprofil[1];
                              if (
                              $arrayprofil[7] == "0")
                              {
                              $plz="n/a";
                              }
                              else {
                              $plz=$arrayprofil[7];}
                              //-----m oder w ------
                              if ($arrayprofil[5] == "1")
                              {
                              $gender="<img src=\"../bilder/male_klein.gif\" ";
                              }
                              elseif (
                              $arrayprofil[5] == "2")
                              {
                              $gender="<img src=\"../bilder/female_klein.gif\" ";
                              }
                              else
                              {
                              $gender="n/a";
                              }

                              echo
                              "
                               <tr>
                                  <td>
                              $foto&nbsp;</td>
                                  <td><a href=\"sprofil.php?wert=
                              $idres\">$nick&nbsp;<a></td>
                                  <td>
                              $alter&nbsp;</td>
                                  <td align=\"center\">
                              $gender&nbsp;</td>
                                  <td>
                              $plz&nbsp;</td>
                                   <td>
                              $idres&nbsp;</td>
                               </tr>

                              "
                              ;

                              //if idres=id
                              //while auslesen-Schleife
                              echo"</table>"
                              Zuletzt geändert von Coniaric; 15.05.2004, 12:27.
                              Gruß, Coni
                              ~~ codito ergo sum - ich code, also bin ich! ~~

                              Kommentar

                              Lädt...
                              X