Avatar billede zkov82 Nybegynder
24. oktober 2006 - 16:48 Der er 5 kommentarer

radiobuttons og checkbox

Hej.
Jeg henter en liste ud af min database. Meningen er at brugeren kan enten vælge en, dette gøres vha. radiobuttons, eller vælge at slette en eller flere poster i databasen, dette skal gøres via checkbox.
Hvordan laver jeg en form som kan gøre begge dele?

Indtil videre har jeg lavet listen med radiobuttons, så man kan vælge et element i listen, men jeg vil også gerne have at man slette elementerne. Jeg har tænkt at der skal være en knap til "vælg" og en til "slet".

Det er hvad jeg har indtil videre:

<form action="" method="POST">

<?php
while($vis = mysql_fetch_array($res)){
echo "<input type='radio' name='pic' value='$vis[1]'>";
    if($vis[3] == 0) {
    echo "<he>";
    echo "<a href='billeder/$vis[1]'>$vis[1]</a>";
    echo "<br></he>";
    }else
        echo "<a href='billeder/$vis[1]'>$vis[1]</a>";
 
    }

echo "<br><input type='submit' value='Vælg'>";
echo "</form>";
Avatar billede zynzz Praktikant
24. oktober 2006 - 16:56 #1
if(isset($_POST['id'])){
$id = $_POST['id'];
if(is_array($id)){
$id2 = array();
foreach($id as $value){
if(is_numeric($value)){
$id2[] = $value;
}else{
echo"Der er et eller andet galt!";
}
}
$id = implode(",", $id2);
$sql = "DELETE FROM dintabel WHERE id IN ($id)";
mysql_query($sql);
}
echo "De udvalgte felter blev slettet";
}

while($vis = mysql_fetch_array($res)){
echo "<input type='checkbox' name='id[]' value='$vis[id]'>";
    if($vis[3] == 0) {
    echo "<he>";
    echo "<a href='billeder/$vis[1]'>$vis[1]</a>";
    echo "<br></he>";
    }else
        echo "<a href='billeder/$vis[1]'>$vis[1]</a>";
 
    }

echo "<br><input type='submit' value='Vælg'>";
echo "</form>";
Avatar billede zkov82 Nybegynder
24. oktober 2006 - 17:09 #2
Tak for hjælpen, men hvordan får jeg dem til at stå i den samme liste?
Hvis du ser på det, jeg har lavet, så vil jeg gerne have checkboxene og radiobuttons til at stå ved siden af hinanden, sådan lidt ligesom noget M$ kunne have lavet. Så det hele er samlet. Nederst er der bare to knapper at vælge imellem, alt efter hvilken aktion der skal udføres.
Avatar billede zynzz Praktikant
24. oktober 2006 - 18:04 #3
hmm, du vil gerne have en funktion der laver så alle felterne bliver afkrydset ?, hvis ja: kig efter noget JS

Samme liste, den må du forklare :)
Avatar billede zkov82 Nybegynder
25. oktober 2006 - 10:04 #4
hehe...ja, det kan godt være at jeg har været lidt uklar i min forklaring.
Jeg behøver ikke noget der kan krydse dem alle af, det regner jeg ikke med bliver nødvendigt. Det jeg havde tænkt mig var en eller anden form for nested-form. Så man kan bruge radio-buttons til at "vælge" en postering, eller man kan markere en vha. checkboxes og slette den.
Jeg vil gerne have radio-buttons og checkboxes til at stå ved siden af hinanden, så jeg kun behøver at liste posteringerne en gang, hvor der står en checkbox og en radio-button ud for hvert element i listen. 

radio  check element
()      ()  foo
()      ()  bar


"vælg-knap"  "slet-knap"

Sletknappen relatere til checkboxen og vælgknappen relatere til radiobutton.

Giver det mere mening?
Avatar billede zynzz Praktikant
25. oktober 2006 - 16:16 #5
Du skal bruge checkboxes, som jeg har vist...

Så skulle de stå under hianden:

echo "<table border='0' cellspacing='0' cellpadding='0'>";
while($vis = mysql_fetch_array($res)){
echo"<tr>";
echo"<td>noget her ?</td>";
echo"<td><input type='checkbox' name='id[]' value='$vis[id]'></td>";
echo"</tr>
}
echo "</table>";
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