Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Checkbox-ryhmän valittujen kohtien purkaminen

Danae [19.10.2007 22:28:24]

#

Minulla on checbox-ryhmä, josta pitäisi saada PHP:llä purettua valitut kohdat. Näyttäisi laittavan array:hin arvot, mutta miten se puretaan?

<form method=post action=xxx.php>
<input type=checkbox name=poistettavat[] value=1/>
<input type=checkbox name=poistettavat[] value=2/>
<input type=checkbox name=poistettavat[] value=3/>
</form>

Olisi mukava saada suoria koodinpätkiä ja ohjeita tai linkkejä aihetta käsitteleville sivustoille.

Antti Laaksonen [19.10.2007 22:37:38]

#

Seuraava koodi selventänee asiaa:

<?php
$poistettavat = $_POST['poistettavat'];
echo "Poistettavia yhteensä: " . count($poistettavat) . "<br>";
for ($i = 0; $i < count($poistettavat); $i++) {
    echo "Tämä pitää poistaa: " . $poistettavat[$i] . "<br>";
}
?>

<form method="post" action="xxx.php">
<input type="checkbox" name="poistettavat[]" value="1"> 1
<input type="checkbox" name="poistettavat[]" value="2"> 2
<input type="checkbox" name="poistettavat[]" value="3"> 3
<input type="submit">
</form>

Eli taulukon voi käydä läpi vaikkapa for-silmukalla.

antsa [19.10.2007 22:40:24]

#

En ole ihan varma, mitä haet takaa purkamisella, mutta vaikkapa implode-funktiolla voit yhdistää arrayn merkkijonoksi.

Esimerkiksi seuraavanlaisella koodinpätkällä saat kaikki valitut kohdat tulostumaan ruudulle pilkulla eroteltuina:

<?php
if(!empty($_POST['poistettavat'])) echo  implode(',',$_POST['poistettavat']);
?>

EDIT: Hups, toinen Antti ehti ekana :) No mutta tämä koodinpätkä lienee käyttökelpoinen vaikka tietokannan kanssa?

Danae [19.10.2007 22:41:35]

#

Antti Laaksonen: Kiitoksia! Tajusin virheeni ja sain koodin toimimaan (:

Antsa: Kiitos, pitää kokeilla tuotakin koodia. Tässä tapauksessa tuo ensimmäinen vinkki taitaa olla käytännöllisempi, mutta tuokin on hyvä tietää.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta