multiple select

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

  • multiple select

    Hallo Leute,
    vielleicht kann mir jemand helfen. Es geht um die Übergabe mehrerer Variablen über POST.
    Aus einer Tabelle werden Daten gelesen und in einer Tabelle dargestellt. Jede Zeile besteht aus aus einem Namen, einer Nummer und einer Checkbox. Die über die CHeckbox ausgewählten Zeilen sollen gelöscht werden.
    Das alles klappt wunderbar mit folgendem Script:

    PHP-Code:
    <form id="form" name="form" method="post" action="index.php">
        <table border="0" cellspacing="0" cellpadding="0">
            <?php
                $res 
    mysql_query("SELECT name,nummer FROM tabelle ORDER BY id ASC");                
                
    $num mysql_num_rows($res);
                while (
    $dsatz mysql_fetch_assoc($res)) {    
                    
                    echo 
    '<tr>';
                    echo 
    '    <td>'."<input type='checkbox' name='auswahl' value='" $dsatz[id] . "'>".'</td>';
                    echo 
    '    <td>'.$dsatz[name].'</td>';    
                    echo 
    '    <td>'.$dsatz[nummer].'</td>';
                    echo 
    '<tr>';
            
    ?>
        </table>
        <input type="submit" value="Absenden">
    </form>

    ...

    <?php
    if(isset($_POST["auswahl"])) {
         
    $sqlab 'DELETE FROM tabele WHERE id = '.$_POST["auswahl"].'';    
         
    mysql_query($sqlab);             
    }
    ?>
    Nun scheitere ich aber wenn ich mehrere Zeilen zum Löschen anwähle.
    Habe gelesen, dass dieses Problem mit Arrays zu lösen wäre. Kann mir jemand erklären wie das in diesem Fall geht. Und wie vor allem dieses Array dann an MySQL übergeben wird?

    Adrian

  • #2
    <input type='checkbox' name='auswahl[]' value='" . $dsatz[id] . "' />

    und dann kommt ein Array in der $_POST Variable an ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Re: multiple select

      Meinst Du die Übergabe aller selektierten Wert als Array?
      Das geht eventuell so:
      PHP-Code:
      ...
                  while (
      $dsatz mysql_fetch_assoc($res)) {    
                      
                      ...
                      echo 
      '    <td>'."<input type='checkbox' [B]name='[COLOR=blue]auswahl[][/COLOR]'[/B] value='" $dsatz[id] . "'>".'</td>';
                      ...
                  }
              
      ?>
      ... 
      Durch die eckigen Klammern wird $_POST["auswahl"] ein Array.

      Kommentar


      • #4
        @goth: warst schneller als ich mit meinem Prosa

        Kommentar


        • #5
          ich nehme dazu den id wert als variable und übergebe das in ein array, wenn du dieses array dann ausliest, weißt du was er löschen soll
          Signatur-Text ...

          Kommentar


          • #6
            Suuuupppaaa! Vielen Dank für die schnellen Antworten!! Es war eine riesige Hilfe.
            Könntet Ihr mir nur noch kurz verraten wie ich die Werte im Array in die Datenbank einfüge bzw. die betroffenen Zeilen der Tabelle lösche?

            Kommentar

            Lädt...
            X