foreach() Problem... Fehler?!

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

  • foreach() Problem... Fehler?!

    Hallo....
    in einem kleinen Formular werden zwei verschiedene Daten (Zahlen) per GET übertragen (natürlich mehrere).
    Dadurch sieht dann meine URL so aus:

    ...heute.php?R_Preis=3.16&R_ID=264&R_Preis=4.37&R_ID=267 usw.

    Jetzt möchte ich die Daten natürlich weiterverarbeiten, allerdings klappt das ganze mit meinem foreach nicht! ....hab auch nochmal hier versucht meinen Fehler zu entdecken! ...leider erfolglos

    Also hier mein Code:
    PHP-Code:
    $R_Preis $_GET["R_Preis"];
    $R_ID $_GET["R_ID"];
    if(
    $R_ID != "" and $R_Preis != "")
        {
        foreach(
    $R_ID as $id)
            {
            echo 
    $id;
            }
        foreach(
    $R_Preis as $preis)
            {
            echo 
    $preis;
            }
        } 
    Also kann mir jemand nen anstoß geben, wo der fehler liegt?!

  • #2
    Ähm du bist dir schon bewusst, dass foreach() sich eigentlich nur für Arrays eignet und sicher nicht für Strings. Und du übergibst foreach() STRINGS!!
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Du kannst in der URL zwar beliebig viele Argumente mit gleichem Namen mitgeben, wenn du die aber nicht als Array-Elemente kennzeichnest, wird nur das allerletzte mit diesem Namen übernommen (und das ist dann wie von jahlives erwähnt, ein String).
      Für die Verarbeitung wie von dir gwünscht, musst du sie als Arrays übergeben:
      Code:
      ...heute.php?R_Preis[]=3.16&R_ID[]=264&R_Preis[]=4.37&R_ID[]=267 usw.
      Die Abfrage muss dann natürlich auch anders heissen, z.B:
      Code:
      ... 
      if(!empty($R_ID) && !empty($R_Preis)){
          foreach($R_ID as $id)
      ...
      Zuletzt geändert von H2O; 12.10.2007, 12:59.
      Gruss
      H2O

      Kommentar


      • #4
        Mit welcher Möglichkeit kann ich denn die GET's weiterverarbeiten? bzw. erstmal einfach alle ausgeben lassen?

        Kommentar


        • #5
          Original geschrieben von DJScorpion
          Mit welcher Möglichkeit kann ich denn die GET's weiterverarbeiten? bzw. erstmal einfach alle ausgeben lassen?
          z.B:
          Code:
          print_r($_GET);
          Gruss
          H2O

          Kommentar


          • #6
            Mit welcher Möglichkeit kann ich denn die GET's weiterverarbeiten? bzw. erstmal einfach alle ausgeben lassen?
            foreach($_GET as $key=>$wert) und nur die Key/Werte verarbeiten die du willst.
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X