Php Abfrage Geschwindigkeit reduzieren

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

  • #31
    Hallo Quetschi, kannst du mir bitte noch ein Stück weiter helfen,

    ich habe das mit dem Flush schon einmal probiert. Nur war mein Problem, wo muss ich z.B. ob_start() einsetzen und welche Werte brauche ich noch, ich habe damit noch nicht gearbeitet, sorry... aber vielen Dank, für deine Hilfe wenn das klappt, wäre ich wirklich besgeistert... Und ja, ich bekomme immer nur das Ergebniss nach dem jedem kompletten Script durchlauf miteinmal...

    Dank
    Robert

    Kommentar


    • #32
      ähm,

      ob_start() puffert die Ausgaben ja erst recht, damit erreichst ja das genaue Gegenteil von dem was du willst.

      Mal was anderes, stellst du eine richtige HTML-Tabelle (<TABLE>) dar? Wird diese dann erst am ende der Schleife mit

      </TABLE>

      beendet? dann liegt das Problem wahrscheinlich eher daran, dass dein Browser die Tabelle erst dann rendert, wenn er das </TABLE> zu lesen bekommt.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #33
        Hallo,

        nein die Tabelle ist viel später zu Ende, das heißt die komplette Abfrage Schleife, liegt von jeglichem Ausgabe, script. Also, ich denke daran sollte es nicht liegen... Dann werde ich das um die Mittagszeit mal probieren, was du mit vorgeschlagen hast, sollte es nicht klappen, so melde ich mich noch mal...

        ahso, ich habe das so gemacht, dass in der schleife der wert für die Ausgabe liegt z.B. $ausgabe = $abfrage['ergebniss']

        und die ausgabe erfolgt dann außerhalb der Schleife einfach mit echo $ausgabe... Oder habe ich da schon einen Fehler drin?

        Gruß
        Robert

        Kommentar


        • #34
          Hallo also ich habe es nun mit:

          echo str_repeat(" ",1024);
          flush();

          probiert aber das will auch nicht.... Ich fragte ja vorhin schonmal, ob das wichitg ist, dass meine Schleife vor der Ausgabe-Tabelle endet.
          Ich weiß auch nicht mehr, wo ich das noch einsetzen soll, damit das funktioniert. Ich schicke euch noch mal den kompletten Code:

          PHP-Code:
          <?php
          $update_query 
          tep_db_query("select products_model, 
          products_price, products_last_modified from " 
          TABLE_PRODUCTS 
          where products_status = 1"
          );
          while (
          $update tep_db_fetch_array($update_query)) {

          $price_old $update['products_price'];
          $id $update['products_model'];
          $last_update $update['products_last_modified'];

          // Der Link zur Suche
          $URL "http://xxxx.de/id=1238594";

          // Start der Auslese
          $Start 'Art.Nr.';
          $End "&nbsp;EUR";

          // Öffnen der Seite
          $file fopen("$URL""r");

          // Lesen der Seite
          $r file_get_contents($URL);

          // Suchen, wonach gesucht werden soll

          $stuff eregi("$Start(.*)$End"$r$content);

          // Zeichen ersetzen
          $content[1] = str_replace("."""$content[1]);
          $content[1] = str_replace(",""."$content[1]);
          $content[1] = str_replace("&nbsp;EUR"""$content[1]);
          $content[1] = str_replace("&nbsp;"""$content[1]);
          $content[1] = str_replace("<br>"""$content[1]);
          $content[1] = str_replace("<td align=right>"""$content[1]);
          $content[1] = str_replace("</td>"""$content[1]);
          $content[1] = str_replace("/span>"" "$content[1]);
          $content[1] = str_replace("<td>"" "$content[1]);
          $content[1] = str_replace("<"" "$content[1]);
          $content[1] = str_replace("<td>&nbsp;&nbsp;</td>"" "$content[1]);



          fclose($file);
          $stuff $content[1];

          // Werte Speichern
          $items explode("[LINES]",$stuff);

          $count "0";
          $rest substr($stuff110); 
          $rest1 substr($stuff1016); 

          $id $rest;
          $price $rest1;    
          $db_price $price 116 100;

          if (
          $id == '') {
          tep_db_query("update " TABLE_PRODUCTS " set products_status 
          = '" 
          '0' "', products_last_modified = now() where products_model = '" 
          $update['products_model'] . "'"); 

          $display_name $update['products_model'];
          $display_status 'Inaktive';

          } else {
          tep_db_query("update " TABLE_PRODUCTS " set products_price = '" 
          $db_price "', products_status = '" '1' "', products_last_modified = now()
          where products_model = '" 
          $id "'"); 

          $display_name $id;
          $display_status 'Aktive';
          $display_price_new $price;
          $display_price_old $price_old  116 100;
          $round tep_round($display_price_old,0);

          echo 
          str_repeat("",1024);
          flush();
          }

          ?>

          <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html <?php echo HTML_PARAMS?>>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=<?php 
          echo CHARSET?>">
          <title><?php echo TITLE?></title>
          <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
          <script language="javascript" src="includes/general.js"></script>
          </head>
          <body marginwidth="0" marginheight="0" topmargin="0" 
          bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" 
          onload="SetFocus();">
          <!-- header //-->
          <?php require(DIR_WS_INCLUDES 'header.php'); ?>
          <!-- header_eof //-->

          <!-- body //-->
          <table border="0" width="100%" cellspacing="2" cellpadding="2">
            <tr>
              <td width="<?php echo BOX_WIDTH?>" valign="top"><table 
          border="0" width="<?php echo BOX_WIDTH?>" cellspacing="1" 
          cellpadding="1" class="columnLeft">
          <!-- left_navigation //-->
          <?php require(DIR_WS_INCLUDES 'column_left.php'); ?>
          <!-- left_navigation_eof //-->
              </table></td>
          <!-- body_text //-->
              <td width="100%" valign="top"><?php echo tep_draw_form('update'
          tep_href_link(FILENAME_UPDATE'SSL'), 'post''onSubmit="return 
          check_form(update);"'
          ) . tep_draw_hidden_field('action''process'); ?
          ><
          table border="0" width="100%" cellspacing="0" cellpadding="2">
                <
          tr>
                  <
          td><table border="0" width="100%" cellspacing="0" cellpadding="0">
                    <
          tr>
                      <
          td class="pageHeading"><?php echo TILE_UPDATE?></td>
                      <td class="pageHeading" align="right"><?php echo 
          tep_draw_separator('pixel_trans.gif'HEADING_IMAGE_WIDTH
          HEADING_IMAGE_HEIGHT); ?></td>
                    </tr>
                  </table></td>
                </tr>
                <tr>
                  <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
                    <tr>
                      <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                        <tr class="dataTableHeadingRow">
                          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ARTIKEL_ID?></td>
                          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ARTIKEL_PRICE_OLD?></td>
                          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ARTIKEL_PRICE_NEW?></td>
                          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ARTIKEL_PRICE_LAST_UPDATE?></td>
                          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_SPECIAL_PRICE?></td>
                        </tr>
                          <td class="dataTableContent"><?php $display_name ;?></td>
          //// **** HIER SOLL DIE AUSGABE ERRFOLGEN **** ////
          </td>
                        </tr>
                      </table></td>
                    </tr>
                  </table></td>
                </tr>
              </table></td>
          <!-- body_text_eof //-->
          Vielleicht hilft das noch einmal weiter, vielen Dank und Gruß aus Berlin
          Robert

          Aber auch

          $display_name = $id;
          $display_status = 'Aktive';
          $display_price_new = $price;
          $display_price_old = $price_old * 116 / 100;
          $round = tep_round($display_price_old,0);

          soll wenn möglich angezeigt werden....

          Kommentar


          • #35
            OKay, ich bin jetzt soweit, das mir alles angezeigt wird, nur leider noch immer erst nachdem das Script durchgelaufen ist... ich hoffe es hat irgendwie noch jemand ne idee... Es muss doch möglich sein, oder nicht?

            Gruß und Dank aus Berlin
            Robert

            Kommentar

            Lädt...
            X