und täglisch nervt die Suchfunktion

  • Seit Tagen bastel ich an meiner Suchfunktion für mein AffiliDings

    vor Tagen hatte es (glaub) funktioniert
    aber die Datenmengen die übertragen werden waren vielvielviel zu groß
    es wurde immer der "Indextring" aktualliesiert und dann übertragen
    (auch bei strings die nicht wirklich verändert wurden, aber in Verbindung standen mit einerm der verändert wurde)
    das wären, bei nur 30 Shops von über 800, MegaByte im 3stelligen Bereich

    Dann hab ich das so umgebaut, das nur der "veränderungString" übertragen wird
    dadurch sinkt das Datenvolumen von 250 Mega auf 15 Mega

    Update(inventur) angestoßen ..... und drüben war nix da
    hatte beim Empfänger eine Variable nicht angepasst
    (das Update muß ja jetzt an 2 Stellen gemacht werden)

    hatte vom "verarbeitungsrechner" zum "GoogleRechner" CopyPaste

    Code
    $UPL=explode("\n",$outputline);
            $UPC=count($UPL);
    
    
            $i=-1;
            while(++$i<$UPC)
            {


    aber die $outputline heist jetzt aber $keywordlist

    Code
    $UPL=explode("\n",$keywordlist);
        $UPC=count($UPL);
    
    
        $i=-1;
        while(++$i<$UPC)
        {


    250 Mega rübergeschickt und 0 Byte in die SQL geschrieben

    korriegiert, Update(inventur) nochmal angestoßen und ...
    ... nun gab es lauter Fehler vom "INSERT INTO"
    mußte da, beim SET, was ergänzen

    Code
    $query .= "   , part     =0";


    das wird derzeit garnicht genutzt, ist Vorrausschauen aber schonmal in einem "Index" mit drin


    Gestern nochmal ein INventurUpdate .... und nun schau ich nach .... irgendwie ist nix angekommen
    naja, das was ich prüfte ist 0 angekommen, aber irgendwie ist doch was angekommen

    Bei Shopid=825 z.B. waren es 1100 Wörter die mit K beginnen aber es sollten 1800 sein

    jetzt hau ich einfach nochmal ne Invetur durch,
    vielleicht kam das ganze durcheinnander weil da 2 inventuren "zeitgleich" waren
    nun nochmal "nur 1"


    und der Fehler ist wieder da

    Code
    WHERE keyword LIKE 'kaffee%'


    es gibt 49 zu senden, aber es kommen nur 31 an

    Warum?
    Warum?Warum?Warum?


    ich schick mal ein "normales" Update hinterher, wo ich "kaffee" in "Brotscheibenhalbierer" umbenenne um dann zu sehen wieviele "Wort-gefunden@-listen" übertragen werden ...
    sind es 49 oder 31?

  • ey, was das

    1. ist da ein Script das die Veränderungen ermittel
    2. ist da ein Script der diese Meldung dann sendet und dann selbst aktualliesiert(wenn das senden erfolgreich war)

    hatte den Fehler jetzt in 2 vermutet
    aber, nach dem 2 deaktiviert ist und nur 1 durch läuft .... sehe ich da Dinge die nicht richtig sind
    also, ist das Problem in 1 und nicht in 2

    ei ei ei

  • irgendwie, hab ich da bei der Umstellung zum Datenvolumensparen, in Script1 voll den Murks gemacht

    alte Version

    Code
    $query .= ' , `fin_titel`="'.$csvAGD[$key.'_fin_titel'].'"';
      $query .= ' , `fin_cat`  ="'.$csvAGD[$key.'_fin_cat'  ].'"';
      $query .= ' , `fin_desc1`="'.$csvAGD[$key.'_fin_desc1'].'"';
      $query .= ' , `fin_desc2`="'.$csvAGD[$key.'_fin_desc2'].'"';
      $query .= ' WHERE keyword ="'.$key.'"';


    das sollte ausgeteilt werden auf 2 Bereiche, die dann von Script 2 zusammengeführt werden und in "FIN" gespeichert
    und ich Dödel hab da einfach die 2 Bereiche dazugepackt, ohne den "FIN" zu entferne

    Code
    $query .= ' , `del_titel`=CONCAT("'.$csvAG3[$key.'_del_titel'].'",del_titel)';
      $query .= ' , `del_cat`  =CONCAT("'.$csvAG3[$key.'_del_cat'  ].'",del_cat)';
      $query .= ' , `del_desc1`=CONCAT("'.$csvAG3[$key.'_del_desc1'].'",del_desc1)';
      $query .= ' , `del_desc2`=CONCAT("'.$csvAG3[$key.'_del_desc2'].'",del_desc2)';
    
      $query .= ' , `add_titel`=CONCAT("'.$csvAG3[$key.'_add_titel'].'",add_titel)';
      $query .= ' , `add_cat`  =CONCAT("'.$csvAG3[$key.'_add_cat'  ].'",add_cat)';
      $query .= ' , `add_desc1`=CONCAT("'.$csvAG3[$key.'_add_desc1'].'",add_desc1)';
      $query .= ' , `add_desc2`=CONCAT("'.$csvAG3[$key.'_add_desc2'].'",add_desc2)';
      $query .= ' WHERE keyword ="'.$key.'"';


    naja, das wäre vielleicht noch nicht wirklich das Problem gewesen, da diese Daten dann nur "unnötig"(=ohne Änderung) gespeichert werden

    aber weiter vorne, ist auch noch was das nicht so ist wie es sein soll

    Code
    $tok=strtok($csvAGD[$key.'_del_'.$workto],',');
                  while( (int)$tok > 0 )
                  {
                    $workstr=str_replace(','.$tok.','  ,  ','  ,   $workstr);
                    $tok=strtok(',');
                  } $csvAGD[$key.'_fin_'.$workto].=trim(substr($workstr.' ',1));


    hat in Script1 nichts zu suchen, das gehört in Script2

    und noch weiter vorne

    Code
    $csvAGK[$tok]='*';
        	            if ( $csvA['csvA']=='#D' || $csvA['csvA']=='#B' )
        	                 $csvAGD[$tok.'_del_'.$workto].=$csvA['id'].',';
        	            else $csvAGD[$tok.'_fin_'.$workto].=$csvA['id'].',';


    da ist das "_fin_" falsch, da muß "_add_" hin
    und ausserdem arbeite ich doch in Script1 nur "in" $csvAG3[ das $csvAGD[ war die alte Version vor der Umstellung


    uyuyuy ....

  • so, der vermurkste Code ist jetzt (hoffentlich) richtig

    jetzt las ich das AnalyseUpdate noch laufen um es abzuschließen
    dann nochmal durch, mit Unterbrechung, um zu sehen ob die Daten so sind wie sie sein sollen

  • Zitat von 800XE;12436

    dann nochmal durch, mit Unterbrechung, um zu sehen ob die Daten so sind wie sie sein sollen


    erst sah es gut aus
    aber nach der Unterbrechung
    Die Daten wurden zwar gesendet und sind angekommen, aber im Sender waren sie dann verschwunden, werden aber natürlich noch gebraucht

    fragte mich "Warum Warum Warum?????"
    und sah dann, mal wieder, einen dummen CopyPastefehler


    die "_del_" und "_add_" sollen gelöscht werden, weil es ja jetzt in "_fin_" gespeichert werden soll ...
    ... wenn wenn es das nicht wird, sondern in "_del_" und danach dort gelöscht

    da hätte mir doch SQL ne eMail schreiben können "dist du deppert?" :D

    Code
    $query  = ' UPDATE '.$csvAS;
                $query .= ' SET ts='.$ts;
    
                $query .= ' , `fin_titel`="'.$data['fin_titel'].'"';
                $query .= ' , `fin_cat`  ="'.$data['fin_cat'  ].'"';
                $query .= ' , `fin_desc1`="'.$data['fin_desc1'].'"';
                $query .= ' , `fin_desc2`="'.$data['fin_desc2'].'"';


    dann klappst auch noch beim nächsten UpDate ....

    ich sagte, das die daten gesendet werden .... ja, aber irgendwie fehlen da doch noch welche

    Code
    keyword LIKE 'kaffeema%'


    da gibts 4 ... es kommen aber nur 3 an

  • nenene

    ich teste und teste ... denke das es ein Problem ist wenn mal ein String zu lang ist

    und nu seh ich was sache ist

    Code
    $query  = ' SELECT * FROM csvASuche'.$ALPHA;
          $query .= ' WHERE keyword="'.$UPV[0].'"';
          $result = mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
          if( $data= mysql_fetch_array($result, MYSQL_ASSOC) )


    um die "neuen Daten" in die "alten" einzufügen, muß ich erstmal die "alten" holen
    und wenn ich SQL nicht sage das es die Daten von "Shop123" sein sollen, dann krieg ich eben .... eventuell einen falschen Datensatz

    Code
    $query  = ' SELECT * FROM csvASuche'.$ALPHA;
          $query .= ' WHERE keyword="'.$UPV[0].'"';
          $query .= ' AND   shopid ='.$shopid;
          $result = mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
          if( $data= mysql_fetch_array($result, MYSQL_ASSOC) )
  • so, jetzt ist es geschaft

    das mit dem fehlenden "AND shopid=" war auch ein Fehler vom CopyPaste, denn beim Sender hat jeder Shop seine eigene Tabelle und darum war dort das nicht drin

    jetzt sind alle 1831 mit "K%" angekommen


    frei nach Wowi "affilitiv und searchy"