2009-03-22 14 views
3

Mein Problem ist ein bisschen kompliziert. (Ich benutze PHP)Wie Informationen aus dem Kontrollkästchen abgerufen werden?

Ich habe zwei Arrays, (einfache Arrays Array [0] = String, Array [1] = String ...) OK, jetzt werde ich den Inhalt von zwei Arrays in einer Webseite anzeigen. Das erste Array enthält Namen und die zweite Bild-URL.

Bilder und Namen werden bereits angezeigt (mein Problem ist nicht hier).

Aber jetzt möchte ich etwas anderes machen, fügen Sie ein Kontrollkästchen neben jedem Bild, diese Checkbox r standardmäßig aktiviert. Ok, jetzt kann der Benutzer einige Postfächer deaktivieren;

Das endgültige Ziel besteht darin, ein neues Array zu erhalten, das nur die Werte der Namen und Bilder enthält, die überprüft wurden.

Ich habe an etwas Einfaches gedacht, crawl die Schlüssel (Anzahl) der unmarkierten Kontrollkästchen und lösche sie aus meinem Array. Aber das Problem, dass ich nicht wusste, wie mit den Kontrollkästchen beschäftigen

+0

Warum nach unten abstimmen? +1, um es zurückzusetzen. –

Antwort

2

vor allem i nur ein Array mit empfehlen:

$array = array (0 => array('name' => '....', 'url' => '....')) 

Ich denke, das Ihr Leben wird viel einfacher. Auch im HTML können Sie auch das Array

foreach ($yourArray as $key=>$value) { 
    ... 
    <INPUT type="checkbox" name="chkArr[<?php echo $key ?>]" value="1" checked/>   

dann Schlüssel senden Sie in Ihrem Formular Aktion der intial Array itarate und die unkontrolliert diejenigen entfernen.

foreach ($yourArray as $key=>$value) { 
    if (!isset($_POST['chkArr'][$key]) OR $_POST['chkArr'][$key]!='1') { 
     unset($yourArray[$key]); 
    } 
} 
+0

Aye, der Schlüssel ist wichtig. Wenn nicht, haben Sie nur den Wert zu beurteilen, welche Kästchen überprüft werden. – OIS

5

Um Eingänge als Arrays in PHP zu erhalten, müssen Sie ihren Namen gesetzt Klammern in HTML mit:

<label><input type="checkbox" name="thename[]" value="" /> The text</label> 

Dann, wenn Sie Zugriff $ _REQUEST ['thename'] Sie erhalten ein Array. Untersuchen Sie es sein Format zu sehen und mit ihm spielen

+0

Großartig! Ich weiß nicht, ob ich das überprüfen sollte: D –

0
<INPUT type="checkbox" name="chkArr[]" value="$num" checked/> 

:) Nachdem das Formular abgeschickt wird, müssen Sie Array $ _REQUEST [ ‚chkArr‘], in dem Sie Zahlen der Checkbox haben werden, die immer noch überprüft.

Um zu sehen, welche array_diff($listOfAllNums, $chkArr) unkontrollierter Gebrauch gewesen

Verwandte Themen