Code --> Fehler : Wo ???

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

  • #16
    So in etwa:
    PHP-Code:
    ..
    else
    {
        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];

            
    $i++;
            
    $daten_[$i] = array ( $ID$pics$clicks$date_upload );
            
    $ahref[$i] = "<A href=\"http://$count?link=$url\" target=_blank>$Name</A>";
            }
    }
    ?> 

    Kommentar


    • #17
      @ hand

      Ja du hast ja recht ...

      das komplette Script :
      PHP-Code:
      /* include/functions.php */
      <?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 +;
      $conn mysql_connect($mySQL_HOST$mySQL_USER$mySQL_PASS) or die( mysql_error() );
      MYSQL_SELECT_DB($mySQL_DB) or die( mysql_error() );
      $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.";
      $f10 10;  
      while (
      $x mysql_fetch_assoc($query_TB))
      // 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];
          
      $i++;
          
      $daten_[$i] = array ( $ID$pics$clicks$date_upload );
          
      $ahref[$i] = "<A href=\"http://$count?link=$url\" target=_blank><IMG alt=\"$Name\" border=0 height=160 name=f$f10 onmouseout=\"hover('f$f10',20)\" onmouseover=\"hover('f$f10',100)\" src=\"$preview_path$preview$ext1\" style=\"FILTER: alpha(opacity=20)\" width=100></A>";
          
      $f10 $f10 1;
      }
      ?>

      /* include/main_table.php => Kreiren der Tabelle und einbinden der Hyperlinks (by Titus) */
      <?php
      include("site_numbers.php");
      include(
      "site_listed_by.php");
      include(
      "functions.php");

      $table_tag = array (
          
      $ahref[0],
          
      $ahref[1],
          
      $ahref[2],
          
      $ahref[3],
          
      $ahref[4],
          
      $ahref[5],
          
      $ahref[6],
          
      $ahref[7],
          
      $ahref[8],
          
      $ahref[9],
          
      $ahref[10],
          
      $ahref[11],
          
      $ahref[12],
          
      $ahref[13],
          
      $ahref[14],
          
      $ahref[15]
          );

      $tags = array (
          
      "<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=718><TBODY>",
          
      "<TR>",
          
      "<TD align=middle height=220><TABLE align=center bgColor=#003366 border=0 cellPadding=1 cellSpacing=0 width=100><TBODY><TR><TD align=middle><TABLE bgColor=#e2eefe border=0 cellPadding=0 cellSpacing=0 width=100><TBODY><TR><TD>",
          
      "<TABLE align=center border=0 cellPadding=0 cellSpacing=0><TBODY><TR><TD align=middle width=\"100%\" class?text?>20.04.2002</TD></TR><TR><TD align=middle width=\"100%\" class?text?>106</TD></TR><TR><TD align=middle width=\"100%\" class?text?>42 Besucher</TD></TR></TBODY></TABLE></TD>",
          
      "</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>",
          
      "</TR>",
          
      "<TD align=middle colSpan=4>Seite $site1 $site2 $site3 $site4 $site5 $site6 $site7 $site8</TD><TD height=23 width=1></TD></TR><TR><TD height=23 colSpan=5 valign=\"top\" align=middle>Sortiere nach $sort1 $sort2 $sort3<TD height=23 width=1></TD></TR><TR><TD bgColor=#001545 width=1></TD><TD bgColor=#001545 colSpan=4></TD><TD bgColor=#001545 width=1></TD></TR>",
          
      "</TBODY></TABLE>"
          
      );
      $tab=16;
      $zeilenzahl 4;
      $spaltenzahl 4;
      $zaehler 0;
      if (
      $tab)
      {
          echo 
      $tags[0];  // Ausgabe Array (Tabellentag) 0
          
      for ($zeile 0;
          
      $zeile<$zeilenzahl && $zaehler<$tab;
          
      $zeile++)
          {
              echo 
      $tags[1];    // Ausgabe Array (Tabellentag) 1
              
      for ($spalte 0;
              
      $spalte<$spaltenzahl && $zaehler<$tab;
              
      $spalte++, $zaehler++)
              echo 
      $tags[2], $table_tag[$zaehler], $tags[4], $tags[3];  // Ausgabe Array (Tabellentag) 2,3
              
      echo $tags[5];    // Ausgabe Array (Tabellentag) 4
          
      }
          echo 
      $tags[6];    // Ausgabe Array (Tabellentag) 5
          
      echo $tags[7];
      }

      ?>
      So recht ?

      @ Titus :

      Die Anfrage gibt ab dem 1 - 16 aus aber enthält nicht den 1. Datensatz, genauso wenn ich die darauffolgenden nehme z.B. 16-32 => nur 15 Datensätze statt 16 ...

      mfg DaPhreak
      If something's HARD to do,

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

      Kommentar


      • #18
        @ hand, Titus :

        Die while-Schleife liesst nicht aus der DB ...

        daphreak
        If something's HARD to do,

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

        Kommentar


        • #19
          Ja wenn das so ist, dann empfehle ich Dir diesmal:
          PHP-Code:
          // 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><IMG alt=\"$Name\" border=0 height=160 name=f$f10 onmouseout=\"hover('f$f10',20)\" onmouseover=\"hover('f$f10',100)\" src=\"$preview_path$preview$ext1\" style=\"FILTER: alpha(opacity=20)\" width=100></A>";
              
          $f10++;
              
          $i++; // <----- DDDDAAAASSS  DDDAAA  HHHIIIIEEERHHEEER

          Kommentar


          • #20
            daaaas $i++; steht bei mir auch schon ganz zum schluss ...

            aber es kommt trotzdem nichts ...
            If something's HARD to do,

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

            Kommentar


            • #21
              $st muß
              0 oder 15
              und nicht
              1 oder 16
              sein, weil LIMIT 0 relativ ist
              Ist das im Skript so?

              Kommentar


              • #22
                Also, wenn ich $st = 0 dann kommt :

                Warning: Supplied argument is not a valid MySQL result resource in d:\web\domain(6)\docroot\include\functions.php on line 36

                Warning: Supplied argument is not a valid MySQL result resource in d:\web\domain(6)\docroot\include\functions.php on line 39

                Zeile 36 :
                PHP-Code:
                $query_TB mysql_query ("$query LIMIT $st, 16"); 
                Zeile 39 :
                PHP-Code:
                while ($x mysql_fetch_assoc($query_TB)) 
                was nu ???
                If something's HARD to do,

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

                Kommentar


                • #23
                  Sorry, aber das gibt es nicht:

                  Code:
                  The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments. The arguments must be integer constants. If two arguments are given, the first specifies the offset of the first row to return, the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1): 
                  mysql> SELECT * FROM table LIMIT 5,10;  # Retrieve rows 6-15
                  
                  If one argument is given, it indicates the maximum number of rows to return: 
                  mysql> SELECT * FROM table LIMIT 5;     # Retrieve first 5 rows
                  
                  In other words, LIMIT n is equivalent to LIMIT 0,n.
                  (http://www.mysql.com/doc/S/E/SELECT.html)

                  Kommentier einmal Deine mysql_query() aus und schreib hardcoded u.a. mysql_query() rein. Das muß funktionieren!
                  PHP-Code:
                  //$query_TB = mysql_query ("$query LIMIT $st,16");
                  $query_TB mysql_query ("SELECT * FROM $mySQL_TB ORDER BY ID LIMIT 0,16"); 
                  Der Fehler liegt woanders. Im zweiten Schritt
                  PHP-Code:
                  $st 0;
                  $query_TB mysql_query ("$query LIMIT $st,16");
                  // $query_TB = mysql_query ("SELECT * FROM $mySQL_TB ORDER BY ID LIMIT 0,16"); 
                  Auch das sollte funktionieren.

                  Kommentar


                  • #24
                    aber $st ist ja nicht immer 0

                    nur bei der 1. Seite ..

                    aba das obere geht nicht ...
                    If something's HARD to do,

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

                    Kommentar


                    • #25
                      Sieht dann so aus :

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

                      /***********************************************************************************
                       *
                       *
                       *    Functions.php
                       *
                       *
                       *
                       ***********************************************************************************/
                      if ($art == 1)
                      {
                          $set = "1";
                      }
                      if ($art == 2)
                      {
                          $set = "2";
                      }
                      if ($art == 3)
                      {
                          $set = "3";
                      }
                      $mySQL_TB = "cat$set"; // Kategorie zusammensetzen
                      $start = $st +1 ;
                      $conn = mysql_connect($mySQL_HOST, $mySQL_USER, $mySQL_PASS) or die( mysql_error() ); // verbinden
                      MYSQL_SELECT_DB($mySQL_DB) or die( mysql_error() ); // Datenbank auswählen
                      //$query = "SELECT * FROM $mySQL_TB ORDER BY ID";
                      //$query_Anz = mysql_query($query);
                      //$gesamt_anz = mysql_num_rows($query_Anz); // gesamte Anzahl an Datensätzen ermittlen
                      //if ($start>$gesamt_anz) die ('keine weiteren Ergebnisse');
                      $st = 0;
                      //$query_TB = mysql_query ("$query LIMIT $st, 16");
                      $query_TB = mysql_query ("SELECT * FROM $mySQL_TB ORDER BY ID LIMIT 0,16");
                      //$anz = mysql_num_rows($query_TB); // Gibt die Anzahl der selektierten Datensätze zurück
                      //echo "$start bis ". ($st+min(16, $anz)) . " von $gesamt_anz Ergebnissen.";
                      $f10 = 10;  
                      while ($x = mysql_fetch_assoc($query_TB))
                      { // 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 );
                          $picture = $preview_path . $preview . $ext1;
                          $f10 = $f10 + 1;
                          $i++;
                      }
                      ?>
                      If something's HARD to do,

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

                      Kommentar


                      • #26
                        Dann kann es nur mehr an der Variablen $mySQL_TB liegen.
                        Welche Tabelle wird im Falle $art ist weder 1, 2 oder 3 angesprochen?
                        Deshalb nehme ich cat1 als Default an.
                        PHP-Code:
                        <?
                        include("settings.php");
                        include("db_settings.php");
                        include("db_error.php");

                        /***********************************************************************************
                         *
                         *    Functions.php
                         *
                         ***********************************************************************************/

                        if(!isset($art)) print "Variable art ist nicht gesetzt !!!!<br>"; // debug by hand

                        $mySQL_TB = "cat1"; // Tabelle cat1 wird Default angenommen
                        if ($art == 2) {
                            $mySQL_TB = "cat2";
                        }
                        if ($art == 3) {
                            $mySQL_TB = "cat3";
                        }

                        $start = $st + 1;

                        $conn = mysql_connect($mySQL_HOST, $mySQL_USER, $mySQL_PASS) or die( mysql_error() ); // verbinden
                        MYSQL_SELECT_DB($mySQL_DB) or die( mysql_error() ); // Datenbank auswählen

                        $query = "SELECT * FROM $mySQL_TB ORDER BY ID";
                        $query_Anz = mysql_query($query);
                        $gesamt_anz = mysql_num_rows($query_Anz); // gesamte Anzahl an Datensätzen ermittlen

                        if ($start>$gesamt_anz) die ('keine weiteren Ergebnisse');

                        print "st sollte 0 oder 15 sein: st:$st<br>";  // debug by hand

                        $st = 0; // Ist nur zum Test, st wir vorsetzlich auf 0 gesetzt i.e. debug by hand

                        $query_TB = mysql_query ("$query LIMIT $st,16");
                        $anz = mysql_num_rows($query_TB); // Gibt die Anzahl der selektierten Datensätze zurück

                        //echo "$start bis ". ($st+min(16, $anz)) . " von $gesamt_anz Ergebnissen.";

                        while ($x = mysql_fetch_assoc($query_TB)) { // 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);
                            $picture      = $preview_path . $preview . $ext1;
                            $i++;
                        }
                        $f10 = $i + 10;  
                        ?>

                        Kommentar


                        • #27
                          Morgän,

                          also jetzt kommt zwar deine Debug Ausgabe, aber
                          nu is wieder das selbe,

                          keine Ausgabe des Hyperlinks keine Ausgabe von $daten_[$i]

                          daphreak
                          If something's HARD to do,

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

                          Kommentar


                          • #28
                            Das Script komplett, wie es bisher ist ...
                            Angehängte Dateien
                            If something's HARD to do,

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

                            Kommentar


                            • #29
                              PHP-Code:
                              while ($row mysql_fetch_assoc($query_TB)) { // DA WAR $x !!!
                                  
                              $i++; // DIESES INCREMENTIEREN MUSS AND DEN SCHLEIFENBEGINN
                                  
                              $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);
                                  
                              $picture      $preview_path $preview $ext1;
                                  
                              $ahref[$i] = "<A href=\"http://$count?link=$url\" target=_blank><IMG alt=\"$Name\" border=0 height=160 name=f$f10 onmouseout=\"hover('f$f10',20)\" onmouseover=\"hover('f$f10',100)\" src=\"$picture\" style=\"FILTER: alpha(opacity=20)\" width=100></A>";
                              }
                              $f10 $i 10// DAS WAR INNERHALB DER SCHLEIFE (ist aber unwesentlich) 
                              ?> 
                              Damit werden nun Deine Arrays mit allen Daten der Datenbank befüllt. Das $i++ an den Anfang, weil bei der Ausgabe ab [1] und nicht ab [0] ausgegeben wird.

                              $st ist nicht gesetzt, zumindest bei mir, warum mußt Du herausfinden

                              Unlogisch ist noch get_pagenr.php
                              Entweder 0, 15, 31 oder
                              1, 16, 32 und vor dem Datenbanklesen $st-1 (Nullrelativ)

                              Wenn Du zu Beginn von get_pagenr.php
                              PHP-Code:
                              if (!isset($st)) {
                                 
                              $st 0// Oder = 1 je nachdem wie Du Dich entscheidest. 0,15,31,.. oder 1,16,32,... - 1

                              einfügen würdest wäre zumindest $st per DEFAULT auf 0 gesetzt.
                              Wie gesagt hier mußt Du Dich entscheiden: 0,15,31,.. oder 1,16,32,... - 1
                              PHP-Code:
                              if ($st == 0) {
                                  
                              $site 1;
                                  global 
                              $site;
                              }
                              if (
                              $st == 16) {
                                  
                              $site 2;
                                  global 
                              $site;
                              }
                              if (
                              $st == 32) {
                                  
                              $site 3;
                                  global 
                              $site;
                              }
                              ... 
                              Ich habe momentan ein Problem mit dem Testen von Skripts. LAMP ist noch nicht fertig aufgesetzt, und WAMP habe ich noch gar nicht begonnen.
                              Aber so wie ich es hgepostet habe bekommst Du jetzt zumindest alle Daten. Wenn man mitten im Coden etwas von $row auf $x ändert übersieht derjenige der sich die Posts anschaut diese marginalen Änderungen, die aber doch wesentliche Auswirkungen haben.
                              Zuletzt geändert von hand; 28.04.2002, 10:09.

                              Kommentar


                              • #30
                                *freu* => hand knutscht

                                hand es geht, ($st =0,15,31,...)

                                nur noch n bissl was :

                                und wenn ich die anderes sortieren möchte, dann nur die Zeilen
                                PHP-Code:
                                $query "SELECT * FROM $mySQL_TB ORDER BY ID";
                                /* und */
                                $query_TB mysql_query ("$query LIMIT $st,16"); 
                                ändern, oder falsch ???

                                Und mySQL sortiert doch, glaub ich zu wissen automatisch ASC oder ??

                                ach ja, und das $f10 = $i +10; muss in die Schleife, das es im Hyperlink genutzt wird ...

                                mfg DaPhreak
                                If something's HARD to do,

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

                                Kommentar

                                Lädt...
                                X