php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-10-2012, 13:18
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard Php/Mysql manchmal kein Ergebniss mit gleicher Abfrage

Hallo miteinander?

Ich logge (absicht war einem bot 404 zurück zugeben) auf unserem Webserver (Shop) Seitenaufrufe mit, wo die Seiten eventl. keinen Inhalt von der DB mehr haben /also nicht mehr existent sind und gebe dem Bot 404 zurück.

Mittlerweile sind viel zu viele Seiten geloggt mit 404 die einen Inhalt haben.

Folgendes passiert:

Manchmal bringt die Query die die Seite mit Inhalt füllt keinen Result.
Wenn ich die Seite gleich nochmal aufrufe funktioniert es.
Die Datenmenge ist nicht klein aber wird normalerweise und 1 Sek. geschafft.



Kann mir jemand helfen?


Gruß
Christian
Mit Zitat antworten
  #2 (permalink)  
Alt 19-10-2012, 15:15
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Code?

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 19-10-2012, 16:17
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard

Klar kann ich ihn schicken. Aber nochmal - ich glaube nicht das es an dem Script liegt. Das Script wird am Tag bestimmt 2000 mal ausgeführt und ca 20x kommt kein Result auch wenn keine Einschränkungen gemacht werden.
Es sind auch keine Felder im Ergebniss (das prüfe ich mittlerweile).

PHP-Code:
$strQuery  "SELECT main.*,DATEDIFF(CURDATE(), date(erstellt)) AS zeit,
            ( select min(originalprice) from tbl_prices where main.id = tbl_prices.product_id) AS originalprice ,
            ( select min(price) from tbl_prices where main.id = tbl_prices.product_id) AS price,
            ( select count(*) from tbl_prices where main.id = tbl_prices.product_id) AS pricecounter from main
            where 1 "
;

if (
$CatID 0) {
    
$strQuery .= " AND catid = ".$CatID;
    }
if (
strlen($mainCategory)>0) {
    
$strQuery .= " AND cat1_convert = '".$mainCategory."' ";
    } 

if (
strlen($Category)>0) {
    
$strQuery .= " AND cat2_convert = '".$Category."' ";
    }
if (
strlen($subCategory)>0) {
    
$strQuery .= " AND cat3_convert = '".$subCategory."' ";
    }
if (
strlen($Color)>0) {
    
$strQuery .= " AND color = '".$Color."' ";
    }
if (
strlen($searchtxt)>0) {    
    
include(
"include/searchtxt.inc.php");

}  
if (
strlen($producer)>0) {
    
$strQuery .= " AND nameconvert = '".addslashes($producer)."' ";
    }
if ((
_SHOWOFFERS==0) AND ($special==0)) {
    
$strQuery .= " AND specialprice = 0 ";
    }
if (
$special==1) {
    
$strQuery .= " AND specialprice = 1 ";
    }
if (
$news==1) {
    
$strQuery .= " AND DATEDIFF(CURDATE(), date(erstellt)) < ".  _HOWOLDNEWS;
    } 

if (
$sizesearch 0) {
    
$strQuery .= " AND id in (Select Artnr from tbl_gr left join tbl_sizecalc on tbl_sizecalc.size = tbl_gr.bezeichner where tbl_sizecalc.display ='$sizesearch' and tbl_gr.menge > 0) "// Nur mit bestand
}            
if (
$highprice>0) {
                
$strQuery .= " AND id in (Select tbl_prices.product_id  from tbl_prices where price between ".$lowprice." and ".$highprice.")";
            }

if (
strlen($wide) > 0) {            
                
$strQuery .= " AND weite ='$wide' "// weite eingrenzen
}
if (
strlen($heelform) > 0) {            
                
$strQuery .= " AND absatzform ='$heelform' "// absatz eingrenzen
}
if (
strlen($heelsize) > 0) {
    
$heelfrom = (int) substr($heelsize,0,strpos($heelsize,','));
    
$heelto = (int) substr($heelsize,strpos($heelsize,',')+1,strlen($heelsize));
    
    if ((
$heelfrom==0) or ($heelto==0)) {
        
               if (
$heelfrom==0$strQuery .= " AND absatz <= $heelto ";
               if (
$heelto==0$strQuery .= " AND absatz >= $heelfrom ";
        
        
    } else {
    
                
$strQuery .= " AND absatz between $heelfrom and $heelto "// absatz eingrenzen
}
}


    
$strQuery .= "  group by  id";

  
if (
strlen($sortField)>0) { 
    
$strQuery .= "  ORDER BY $sortField $sortOrder, ordernr"// nach Rang sortiert
} else {
    
    
$strQuery .= "  ORDER BY  erstellt,ordernr Desc"// nach Rang sortiert
    
}

//echo $strQuery;

$dbAbfrage = @MysqlQuery($strQuery);

if (
mysql_num_rows($dbAbfrage)>0){

while(
$row = @mysql_fetch_object($dbAbfrage)) { 
    
$arr_maincat[$row->maincategorytxt] = $row->maincat_convert;
    
$arr_cat1[$row->categorytxt1] = $row->cat1_convert;
    
$arr_cat2[$row->categorytxt2] = $row->cat2_convert;
    
$arr_cat3[$row->categorytxt3] = $row->cat3_convert;
    
$arr_producer[$row->name] =   $row->nameconvert;    
    
$arr_colors[] = $row->color;
    
$arr_prices[] = $row->price;
    
$arr_absatz[] = $row->absatz;
    
$arr_absatzform[] = $row->absatzform;
    
$arr_weite[] = $row->weite;

}

uasort($arr_producer,'cmp');

$arr_colors clean_array(array_unique($arr_colors));
sort($arr_colors);

$arr_prices array_unique($arr_prices);
sort($arr_prices);

$arr_absatz clean_array(array_unique($arr_absatz));
sort($arr_absatz);


$arr_absatzform clean_array(array_unique($arr_absatzform));
sort($arr_absatzform);


$arr_weite array_unique($arr_weite);
$arr_weite clean_array($arr_weite);


sort($arr_weite);



mysql_data_seek($dbAbfrage0); 

     
$intMaxRows mysql_num_rows($dbAbfrage); // Maximale Anzahl
     
$intFieldcount mysql_num_fields($dbAbfrage);
      if (
$intMaxRows 0) {
        
         
$intPages = (floor(($intMaxRows 1) / $LISTLENGTH));
         
$intCurrentPage = (int) $pg;
         
$intPosition 0;
         
$intCursor $intNavCursor = ($pg == 0) ? $pg $LISTLENGTH;
         
// Navigation vorbereiten
         
while($arrRS mysql_fetch_assoc($dbAbfrage)) {
             
$nItemID = (int) @mysql_result($dbAbfrage$intNavCursor 1"itemid");
             
$cItemID = (int) @mysql_result($dbAbfrage$intNavCursor"itemid");
             
$pItemID = (int) @mysql_result($dbAbfrage$intNavCursor 1"itemid");
             
$intNavCursor++;
             if (
$cItemID == 0) break; // letzte Reihe ausblenden
             
$arrNavigation[$cItemID] = array($pItemID$nItemID);
         }
           
$strNavigation urlencode(serialize($arrNavigation));
         
mysql_data_seek($dbAbfrage$intCursor); // Zeiger erneut setzen
         
}

$artikelcounter $intMaxRows;  



Geändert von Jedimen (19-10-2012 um 16:56 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 19-10-2012, 16:51
ezkimo
 Registrierter Benutzer
Links : Onlinestatus : ezkimo ist offline
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 279
ezkimo befindet sich auf einem aufstrebenden Ast
ezkimo eine Nachricht über ICQ schicken
Standard

... und wenn Du möchtest, dass jetzt noch jemand antwortet, verwende einfach die PHP BBCodes dieses Forums, um den PHP Code für jedermann lesbar zu machen. So wird Dir hier garantiert niemand antworten ...
__________________
MM Newmedia | MeinBlog
Mit Zitat antworten
  #5 (permalink)  
Alt 19-10-2012, 16:56
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard

Wurde geändert - Danke.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQLite strftime liefert kein Ergebniss Elde SQL / Datenbanken 8 26-04-2012 22:16
Löschen Wenn in anderen Tabellen kein Eintrag mit gleicher Id vorhanden ist PhilippM SQL / Datenbanken 3 01-04-2007 18:39
mysql abfrage ergebniss in mail weitergeben romu2000 PHP Developer Forum 9 22-03-2006 17:36
Abfrage mit Ausgabe aller gleicher Datensätze andreas0063 SQL / Datenbanken 3 25-10-2005 14:23
[JavaScript] manchmal gehts, manchmal nicht... qua HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 09-02-2004 17:18

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:47 Uhr.