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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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

    Comment


    • #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 ?
      Last edited by dirk24; 09-06-2004, 19:36.

      Comment


      • #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

        Comment


        • #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 ^^

          Comment


          • #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

            Comment


            • #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.

              Comment


              • #8
                danke

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

                Comment

                Working...
                X