Code --> Fehler : Wo ???

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

  • Code --> Fehler : Wo ???

    Kann mir mal jemand helfen ??

    Ich finde diesen ******* Fehler nicht ...

    PHP-Code:
    <?php
    include("settings.php");
    include(
    "db_settings.php");
    include(
    "db_error.php");

    if (
    $art == 1)
    {
        
    $set "1";
    }
    if (
    $art == 2)
    {
        
    $set "2";
    }
    if (
    $art == 3)
    {
        
    $set "3";
    }
    $mySQL_TB "cat$set";
    $start $st-1;
    $conn mysql_connect($mySQL_HOST$mySQL_USER$mySQL_PASS) or die( mysql_error() );
    MYSQL_SELECT_DB($mySQL_DB) or die( mysql_error() );
    $query_TB mysql_query("SELECT * FROM $mySQL_TB ORDER BY ID LIMIT $start,16 ",$conn);
    $anz mysql_num_rows($query_TB);
    if (
    $anz == 0)
    {
        print 
    $db_error[2];
    }
    else
    {
        for (
    $i=1$i=16$i++)
        {
            while (
    $row mysql_fetch_array($query_TB)) // Auslesen der Daten
            
    // Gibt Daten aus
                
    $ID          $row[ID];
                
    $Name         $row[Name];
                
    $preview     $row[preview];
                
    $pics         $row[pics];
                
    $url         $row[url];
                
    $clicks         $row[clicks];
                
    $date_upload $row[date_upload];
            }
            
    $daten_[$i] = array ( $ID$pics$clicks$date_upload );
            
    $ahref[$i] = "<A href=\"http://$count?link=$url\" target=_blank>$Name</A>";
        }
    }
    ?>
    Ich hab da mal noch ne Frage : Wenn ich als erstes ID = 1 haben
    möchten und $st auch 1 ist, muss ich dann mit ID = 0 starten ??

    Und zu ORDER BY => ASC oder DESC ?

    mfg DaPhreak
    Zuletzt geändert von DaPhreak; 27.04.2002, 08:09.
    If something's HARD to do,

    then it's not worth doing.
    (Homer J. (Jay) Simpson)

  • #2
    Fehler in Zeile???
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      das is ja das Prob :

      er gibt mir nur $db_error[2] aus ("KEINE Records in $mySQL_TB gefunden")

      ach ja : $mySQL_HOST, $mySQL_USER, $mySQL_PASS, $mySQL_DB kommen aus der db_settings.php

      DB-Struktur :

      root@server
      |
      +-+ sport
      |
      +- fliegen
      |
      +- fahren
      |
      +- tauchen

      daphreak
      Zuletzt geändert von DaPhreak; 26.04.2002, 15:05.
      If something's HARD to do,

      then it's not worth doing.
      (Homer J. (Jay) Simpson)

      Kommentar


      • #4
        Sicher das das SQL statement ein nicht leeres Ergebnis zurück geben muss?
        Häng mal ein or die(mysql_error())
        hinter Deine MySQl Befehle oder lass das mal ausgeben. evt ist der Tblname falsch. Oder $start
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Also Keine Records in der Tabelle gefunden erscheint, wenn er die DB abfragt .

          zu $start = $st-1; :

          Also $st ist enweder 0,16,32,64,80,96 oder 112

          Meine Tabelle hat die Spalte ID und beginnt mit 1 ..

          Liegt's eventuell daran ???

          $start soll so gewählt werden, daß er mit der Nummer von $st in
          der DB anfängt (also $st = 0 => soll ab dem 1. (einschließlich)
          auslesen, $st = 16 => soll ab dem 16. (einschließlich) auslesen,
          usw. )

          mfg DaPhreak
          Zuletzt geändert von DaPhreak; 26.04.2002, 15:46.
          If something's HARD to do,

          then it's not worth doing.
          (Homer J. (Jay) Simpson)

          Kommentar


          • #6
            hat niemand ne Idee ???

            daphreak
            If something's HARD to do,

            then it's not worth doing.
            (Homer J. (Jay) Simpson)

            Kommentar


            • #7
              Wo liegt den nu der Fehler ???

              daphreak
              If something's HARD to do,

              then it's not worth doing.
              (Homer J. (Jay) Simpson)

              Kommentar


              • #8
                Hi!
                Bin zwar selber noch PHP-Noob, aber ich glaube, ich weis, was los ist: Du willst da zum Beispiel die Tabelle cat_tauchen abfragen, hast aber doch gar keine Tabelle cat_tauchen, sondern nur tauchen. Also kann er da dann auch keine Einträge finden!
                Zuletzt geändert von FloFri; 26.04.2002, 23:46.

                Kommentar


                • #9
                  $conn = mysql_connect($mySQL_HOST, $mySQL_USER, $mySQL_PASS) or die ( mysql_error() );
                  MYSQL_SELECT_DB($mySQL_DB) or die ( mysql_error() );
                  mein Sport: mein Frühstück: meine Arbeit:

                  Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                  Kommentar


                  • #10
                    tja das war's immernoch nicht .....

                    und mysql_error kommt auf das selbe raus wie print $db_error ..
                    Zuletzt geändert von DaPhreak; 27.04.2002, 08:11.
                    If something's HARD to do,

                    then it's not worth doing.
                    (Homer J. (Jay) Simpson)

                    Kommentar


                    • #11
                      Welche Werte haben $art und $start, wenn der Fehler auftaucht?
                      und wieviele Datensätze enthalten die Tabellen cat1, cat2, cat3?


                      $start=1 => $st=0 => "LIMIT 0,16"
                      d.h. es werden die ersten 16 Query-Ergebnisse zurückgeliefert.

                      mit $start=17 => $st=16 => "LIMIT 16,16"
                      werden die ersten 16 übersprungen und die folgenden 16 geliefert.

                      Liefert die Query ohne "LIMIT"-Klausel nur 16 (oder weniger) Ergebnisse,
                      dann gibt´s bei "LIMIT 16,16" natürlich gar keins.

                      PHP-Code:
                      $query "SELECT * FROM $mySQL_TB ORDER BY ID";
                      $query_Anz mysql_query($query);
                      $gesamt_anz mysql_num_rows($query_Anz);
                      if (
                      $start>$gesamt_anz)
                        die (
                      'keine weiteren Ergebnisse');
                      $st $start-1;
                      $query_TB mysql_query ("$query LIMIT $st, 16");
                      $anz mysql_num_rows($query_TB);
                      echo 
                      "$start bis ". ($st+min(16$anz)) 
                        . 
                      " von $gesamt_anz Ergebnissen.';
                      while (
                      $x = mysql_fetch_assoc($query_TB))
                      {
                        ...

                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12
                        Also cat1 hat 83 Datensätze, cat2 68 und cat3 8

                        Nach Script ausführen :
                        -1 bis -2 von 83 Ergebnissen.

                        Die Werte von $art sind egal ...
                        Fehler taucht bei 1 - 3 auf .

                        $start wird ja über $st definiert ... also, wenn bei mir $st 0 ist, dann ist $start = -1 => darf nicht oder doch ???
                        If something's HARD to do,

                        then it's not worth doing.
                        (Homer J. (Jay) Simpson)

                        Kommentar


                        • #13
                          Original geschrieben von DaPhreak
                          $start wird ja über $st definiert ... also, wenn bei mir $st 0 ist, dann ist $start = -1 => darf nicht oder doch ???
                          neeeeiiiiin - aber jetzt haben wir den Fehler *hoff*
                          mySQL beginnt - wie jede andere vernünftige Sprache auch - mit dem Zählen bei der 0.
                          Das Verhalten von "LIMIT -1,16" ist afaik nicht definiert.
                          Aber eigentlich sollte mysql selbst einen Fehler liefern à la "there is an error in your SQL syntax near '-1,16'".

                          setze $start = $st, oder für die erste Seite $st=1
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar


                          • #14
                            So, Titus nu kommt :

                            1 bis 16 von 83 Ergebnissen. *freud*

                            Nur jetzt zeigt er mir in den Tabellen folgendes an :

                            1. Zelle = a
                            2. Zelle = (leer)
                            3. Zelle = h
                            4. Zelle = r
                            5. Zelle = e
                            6. Zelle = f
                            7. Zelle = =
                            8. Zelle = "
                            9. Zelle = h
                            10. Zelle = t
                            11. Zelle = t
                            12. Zelle = p
                            13. Zelle = :
                            14. Zelle = /
                            15. Zelle = /
                            16. Zelle = p



                            Ich will doch aba den Link da drin haben ... (sollten ja 16 Stück sein, die aus der DB im Feld url ausgelesen werden ..

                            Kann ich das dann mit meiner for-Schleife machen ??

                            daphreak
                            Zuletzt geändert von DaPhreak; 27.04.2002, 10:26.
                            If something's HARD to do,

                            then it's not worth doing.
                            (Homer J. (Jay) Simpson)

                            Kommentar


                            • #15
                              Poste bitte das Skript, so wie es jetzt aussieht.
                              Aus dem was da ist ist nirgendwo ersichtlich, wo Du den print positioniert hast der das Ergebnis bringt.

                              Vermutlich kannst oder mußt Du sogar die Schleife
                              PHP-Code:
                              for ($i=1$i=16$i++)  {
                                  ...

                              zur Gänze weglassen und in die Leseschleife $i++ einbauen
                              PHP-Code:
                              while ($row mysql_fetch_array($query_TB))  {
                                 
                              $i++;
                                 ...

                              Zuletzt geändert von hand; 27.04.2002, 11:04.

                              Kommentar

                              Lädt...
                              X