Avatar billede qub- Novice
10. december 2004 - 11:29 Der er 3 kommentarer og
1 løsning

Checkbox og arrays

Hei..

Jeg skal have lavet så man på min edit news side, kan vælge en række nyheder via nogle checkboxe, og så slette de valgte nyheder med en select > option..

Mine koder ser således ud:


<form name="" method="post">
<?
    $query = mysql_query("SELECT * FROM news ORDER BY date DESC limit $show_from, $pr_page") or die(mysql_error());

    while ($row = mysql_fetch_array($query)) {
    $title = $row[title];
    $author = $row[author];
    $date = date("d.m.Y", $row[date]);
   
    $id = $row[id];

?>

        <tr>
            <td height=18><a href="index.php?side=news&s=edit&id=<? echo $id ?>"><? echo $title ?></a></td>
            <td height=18><? echo $date ?></td>
            <td height=18><? echo $author ?></td>
            <td><input name="" value="" style="border:0; background-color:#FFFFFF" type='checkbox'></td>
        </tr>
<?
}
?>


<tr>
<td>

<td colspan=7 align=right>With selected:

<select name=action>
<option value="">-- Choose Action --</option>
<option title="delete all selected news" value="delete">Delete</option>   
</select>

<input type=submit value=Go>

</tr>

<input type=submit value=Go>

</form>


Altså....

Så hver checkbox skal have et unikt id som passer sammen med nyheden ud for den pågældende checkbox.
Ydemere skal man så med de "valgte" nyheder vælge en funktion deres skal gøres.. Og det er altså delete! Så den linker ind på en anden side hvor den slette de valgte nyheder...


Jeg ved det er lidt underligt forklaret, men håber der er en der kan hjælpe :)




// quB
Avatar billede jakobdo Ekspert
10. december 2004 - 11:39 #1
du skal sætte name på din checkbox til: cb[] og value f.eks. id fra din tabel.

Så poster du det, og kan så bruge:

DELETE FROM tabel WHERE id IN (alle de id'er du har fået postet)
Avatar billede hmortensen Nybegynder
10. december 2004 - 13:12 #2
Og til jakobdo's forslag, kan du bruge implode() til at lave selve sætningen.

mysql_query("DELETE FROM tabel WHERE id IN (".implode(",", $_POST['navnpåcheckbox']).")");
Avatar billede qub- Novice
16. december 2004 - 08:15 #3
...
Avatar billede jakobdo Ekspert
16. december 2004 - 08:54 #4
Hvad skal det betyde?
Kunne du ikke bruge vores svar?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester