Code --> Fehler : Wo ???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by DaPhreak; 27-04-2002, 07: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/

    Comment


    • #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
      Last edited by DaPhreak; 26-04-2002, 14:05.
      If something's HARD to do,

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

      Comment


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

        Comment


        • #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
          Last edited by DaPhreak; 26-04-2002, 14:46.
          If something's HARD to do,

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

          Comment


          • #6
            hat niemand ne Idee ???

            daphreak
            If something's HARD to do,

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

            Comment


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

              daphreak
              If something's HARD to do,

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

              Comment


              • #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!
                Last edited by FloFri; 26-04-2002, 22:46.

                Comment


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

                  Comment


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

                    und mysql_error kommt auf das selbe raus wie print $db_error ..
                    Last edited by DaPhreak; 27-04-2002, 07:11.
                    If something's HARD to do,

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

                    Comment


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

                      Comment


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

                        Comment


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

                          Comment


                          • #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
                            Last edited by DaPhreak; 27-04-2002, 09:26.
                            If something's HARD to do,

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

                            Comment


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

                              Last edited by hand; 27-04-2002, 10:04.

                              Comment

                              Working...
                              X