Mehere Checkboxen als Array versenden...geht aber net ?

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

  • Mehere Checkboxen als Array versenden...geht aber net ?

    Hi,
    ich versuche gerade ein paar Checkboxen die ein Array bilden zu versenden. Hier mal der Code des Formulars:

    function details($tisch){
    $sqlString = "SELECT `oid`, `tisch`, `artikel`, `preis` FROM `bestellung_details` WHERE `tisch` = '$tisch'";
    $result = mysql_db_query('cafe',$sqlString);
    echo"<table width='50%' border='0' cellspacing='0' cellpadding='0'>";
    echo"<form name='form2' method='post' action='deletesth.php'>";
    $i = 0;
    while($row = mysql_fetch_array($result)){
    echo "<tr>";
    echo "<th scope='col'>$row[1]</th>";
    echo "<th scope='col'>$row[2]</th>";
    echo "<th scope='col'>$row[3] €</th>";
    echo "<th scope='col'><input name='oid[$i]' type='checkbox' value='$row[0]'></th>";
    echo "<th scope='col'><a href='delete.php?gid=$row[0]&tisch=$tisch'>Nur dieser Artikel wird bezahlt!</a></th>";
    echo "<input name='anz' type='hidden' value='$i'>";
    echo "</tr>";
    $i++;

    }

    echo "</table>";
    echo "<input name='tischlein' type='hidden' value='$tisch'>";
    if($tisch) {echo "<input type='submit' name='Submit' value='Teilbetrag ermitteln'";}
    echo "</form>";
    }

    --------------------------------------------------------------------------
    Die Variabel anz kann ich auf dem anderen Formular ansprechen, da bekomme ich auch den Wert!
    Code folgt:
    --------------------------------------------------------------------------

    <?php
    $anz = $HTTP_POST_VARS[anz];
    $oid[$i] = $HTTP_POST_VARS[$oid[$i]];
    for($i=0;$i<$anz;$i++){
    echo $oid[$i];
    echo "foo";
    }
    ?>

    ---------------------------------------------------------------------------

    Wäre nett wenn mir jemand sagen könnte wie ich das übergebene Array ansprechen kann...

    thx

    Dirk
    Zuletzt geändert von dirk24; 09.06.2004, 19:37.

  • #2
    spaghetticode laesst gruessen.
    mach mal ein
    echo '<pre>';print_r($_POST);
    und Du siehst alles was Du brauchst
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      hmm...da bekomme ich das:

      [oid] => Array
      (
      [0] => 55
      [4] => 51
      )

      [anz] => 13
      [tischlein] => Tisch_01
      [Submit] => Teilbetrag ermitteln


      Aber was is dann bei mir falsch dass ich net drauf zugreifen kann ?
      Zuletzt geändert von dirk24; 09.06.2004, 19:36.

      Kommentar


      • #4
        ganz einfach
        [oid] => Array
        (
        [0] => 55
        [4] => 51
        entspricht
        $_POST['oid'][0] und
        $_POST['oid'][4]
        und nicht diesem hier: $HTTP_POST_VARS[$oid[$i]];
        also Augenauf beim Eierlauf
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Original geschrieben von MelloPie
          ganz einfach
          [oid] => Array
          (
          [0] => 55
          [4] => 51
          entspricht
          $_POST['oid'][0] und
          $_POST['oid'][4]
          und nicht diesem hier: $HTTP_POST_VARS[$oid[$i]];
          also Augenauf beim Eierlauf
          das hab ich ja verstanden dass im Feld 0 des Arrays die 55 steht
          Aber wie mach ich das dann im Code ? Weiß ja nie was ankommt, können ja theoretisch hunderte werte ankommen! Wie sprech ich denn den Vektor denn an .... du schreibst $_POST['oid'][0] ... aber ich will den ja in ner schleife laufen lassen und dann dementsprechende Felder löschen...ich glaub ich bin zu blöd ^^

          Kommentar


          • #6
            Ok, dann fang anders an und mach in Deinem Form nicht das hier:
            <input name='oid[$i]' type='checkbox' value='$row[0]'>
            sondern
            <input name='oid[]' type='checkbox' value='$row[0]'>
            jetzt bekommst Du ein array mit fortlaufenden indizes beginnend bei 0.
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              evtl. für andere zwecke ein implode() oder explode() tipp ,)

              Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
              sondern mit den Augen das Manual zu lesen.

              Kommentar


              • #8
                danke

                Hat dann gefunzt...sorry für die noob fragen, aber ich hab erst mit php angefangen...

                Kommentar

                Lädt...
                X