Shop auslesen

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

  • Shop auslesen

    Hallo,

    wie kann ich am schnellsten ein Shop mit über 40000 Artikel auslesen. Ich gehe dabei wie folgt vor:


    PHP-Code:
    $liste = array();
    if(
    $obj mysql_query("SELECT * FROM $tabellenname ORDER BY artNumber ASC"))
    {
        while(
    $row mysql_fetch_assoc($obj))
        {
            
    array_push($liste,$row);
        }
    }
    $menge count($liste);
    $zeilen 50// anzahl der datensätze pro zeile (variabel)

    $pagebrowse pagebrowse($s,$menge,$zeilen,$id);
    $url "produktdetails.php";
    if(
    $menge $zeilen):
        echo 
    "<center>";
        echo 
    "Seite(n): ";
        echo 
    $pagebrowse['jump_start'];
        echo 
    $pagebrowse['jump_back'];
        for(
    $x=$pagebrowse['offset'];$x<=$pagebrowse['end'] && $x <= $pagebrowse['seiten'];$x++):
            if(
    $x == $s):
                echo 
    "<b>$x</b>&nbsp";
            else:
                echo 
    "<a href=\"".$pagebrowse['url']."?lang=$lang&amp;s=$x&id=$id\">$x</a>\n";
            endif;
        endfor;
        echo 
    $pagebrowse['jump_forward'];
        echo 
    $pagebrowse['jump_end'];
    endif;

    $maximum $s $zeilen;
    $minimum $maximum $zeilen;


    for( 
    $i $minimum $i < ($maximum) ; $i++ )
        {
            if( !
    is_array($liste[$i]) )
            {
                break;
            }
            else
            {
                
    $artikel_id $liste[$i]['artNumber'];
            }

    Aber bei so einer großen Anzahl an Artikel kommt der Server zum Stillstand. Wie kann ich dies verhindern? Was ist an der Abfrage falsch?


    Thx
    Klaus06

  • #2
    das ist ja ein Unding, du holst 40Tds DS rein, wo du eigentlich nur 50 brauchst

    Suche mal nach blättern

    Kommentar


    • #3
      Hallo,

      ich habe doch schon eine Blätterfunktion eingebaut:

      PHP-Code:
      $pagebrowse pagebrowse($s,$menge,$zeilen,$id);
      $url "produktdetails.php";
      if(
      $menge $zeilen):
          echo 
      "<center>";
          echo 
      "Seite(n): ";
          echo 
      $pagebrowse['jump_start'];
          echo 
      $pagebrowse['jump_back'];
          for(
      $x=$pagebrowse['offset'];$x<=$pagebrowse['end'] && $x <= $pagebrowse['seiten'];$x++):
              if(
      $x == $s):
                  echo 
      "<b>$x</b>&nbsp";
              else:
                  echo 
      "<a href=\"".$pagebrowse['url']."?lang=$lang&s=$x&id=$id\">$x</a>\n";
              endif;
          endfor;
          echo 
      $pagebrowse['jump_forward'];
          echo 
      $pagebrowse['jump_end'];
      endif; 

      Was ist damit ?


      Thx
      Klaus06

      Kommentar


      • #4
        ich hab' nur kurz drüber geguckt, aber informiere dich über den Gebrauch von LIMIT in deiner SQL-Abfrage.

        Kommentar

        Lädt...
        X