script funktioniert nicht...

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

  • script funktioniert nicht...

    Nabnd

    Ich hab n string, da stehen dinge nach folgendem Muster drin:
    3*5|1*2|6*10|

    Die erste Zahl ist die Anzahl, die zweite Zahl die id.
    Jetzt wird per $_GET['id'] die variable id aus der URL ausgelesen und ich möchte, dass geprüft wird, ob die id schon vorhanden ist in der obigen Reihe. Dabei soll nicht die id mit der anzahl verwechselt werden!
    WENN die id vorhanden ist, dann soll die anzahl um 1 erhöht werden und der komplette aktualisierte string wieder in einer neuen variablen gespeichert werden. Ist die id nicht vorhanden, so soll an den alten string 1*$_GET['id'] angefügt werden und der neue string in einer neuen Variabel gespeichert werden.

    Ich hoffe das ist halbwegs verständlich...

    Ich habe versuch ein script dafür zu schreiben, nur gibts da immer n Fehler vonwegen 30 sek script ausgeführt, sprich das teil is zu rechenaufwendig

    PHP-Code:
    $lager explode("|",$lager);
              for (
    $i 0$i <= count($lager); $i++) {
                
    $lager[$i] = explode("*",$lager[$i]);
                if (
    $lager[$i][1] == $_GET['id']) {
                  
    $lager[$i][0] = $lager[$i][0]+1;
                  
    $empty FALSE;
                  
    $new_lager "";
                } else { 
                  
    $empty TRUE
                  
    $new_lager "";
                }
              }
              if (
    $empty) {
                
    $new_lager .= "1*".$_GET['id']."|";
              } else {
                for (
    $i 0$i <= count($lager); $i++) {
                  
    $new_lager .= $lager[$i][0]."*".$lager[$i][1]."|";
                }
              } 
    in $lager ist der string gespeichert, in $new_lager soll der neue string rein.
    Gruß,
    Avirell

  • #2
    Re: script funktioniert nicht...

    Original geschrieben von Avirell
    Ich hab n string, da stehen dinge nach folgendem Muster drin:
    3*5|1*2|6*10|
    den würde ich erstmal mit explode() auseinander nehmen - zuerst am | auftrennen, und dann anschliessnd in einer schleife über das resultierende array nochmals am *.

    rausfinden, ob in einem der arrays die übergebene ID drinsteht, sollte nicht mehr sonderlich kompliziert sein.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hab ich doch in meinem script da oben gemacht, aber das is ja zu rechenaufwendig!!!
      Gruß,
      Avirell

      Kommentar


      • #4
        @Avirell
        ausser dem ersten
        PHP-Code:
        for ($i 0$i <= count($lager); $i++) 
        das imho eher so aussehen sollte
        PHP-Code:
        for ($i 0$i count($lager)-1$i++) 
        seh ich kein gravierendes problem in dem script ... wo kommt denn $lager her? riesige datei?

        BTW: das count() solltest du aus dem for() rausnehmen ... steigert die performance.



        @tschio
        keiner hat was gegen dich ... aber dein verhalten verstösst gegen die netikette ... nörgler, drängler und devote bettler sind in keinem forum gern gesehene gäste ... abgesehen davon hat dich tobiaz nicht mal "angemacht",sondern nur sein unverständnis geäussert.
        Kissolino.com

        Kommentar


        • #5
          das $lager kommt aus ner Datenbank und ist momentan noch garnicht groß (2 von diesen einträgen...)

          naja werds mal ausprobieren, danke!
          Gruß,
          Avirell

          Kommentar


          • #6
            schalt mal in der php.ini das error_reporting "scharf", uU liegt der fehler woanders.
            Kissolino.com

            Kommentar

            Lädt...
            X