Avatar billede maxiz Nybegynder
08. marts 2009 - 17:06 Der er 14 kommentarer og
1 løsning

CHECKBOX update

Hej, jeg skal bruge hjælp til at lave en opdatering i min mysql database, når der er cheked:

Hvis jeg fx. har en række beskeder skrevet i et forum:

Der bliver hentet posts, og hver post er udstyret med et unikt id.

Opdateringen skal sættes til "active = 'No'"

De skal så udstyres med en checkbox og en delete knap i bunden.

Jeg har prøvet med:

eksempel på html:

<form name="slet2" id="slet2" method="post" action="/del2.php">

<input name="id" type="checkbox" id="id" value="1">
<input name="id" type="checkbox" id="id" value="2">

<input name="delete" type="submit" id="delete" value="delete">
</form>

php:

include "db.php";
$id = htmlspecialchars($_POST[id]);

$delete_ids = implode(", ",$id);
$query = "UPDATE posts SET active = 'No' WHERE id = '$delete_ids'";

mysql_query($query);


Men som sagt er jeg ikke den største php haj, og jeg ville være glad for noget hjælp :)
Avatar billede zynzz Praktikant
08. marts 2009 - 17:12 #1
Prøv at sætte name til name=delete[]
Avatar billede maxiz Nybegynder
08. marts 2009 - 17:18 #2
Dette virker ikke:

eksempel på html:

<form name="slet2" id="slet2" method="post" action="/del2.php">

<input name="id[]" type="checkbox" id="id[]" value="1">
<input name="id[]" type="checkbox" id="id[]" value="2">

<input name="id" type="submit" id="id" value="delete">
</form>

php:

include "db.php";
$id = htmlspecialchars($_POST[id]);

$delete_ids = implode(", ",$id);
$query = "UPDATE posts SET active = 'No' WHERE id = '$delete_ids'";

mysql_query($query);
Avatar billede zynzz Praktikant
08. marts 2009 - 17:30 #3
Checkbox:
<input type="checkbox" name="slet[]" value="VÆRDI">

PHP:

"UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")";
Avatar billede zynzz Praktikant
08. marts 2009 - 17:32 #4
"UPDATE posts SET active = 'No' WHERE id IN(".$delete_ids.")";
Avatar billede zynzz Praktikant
08. marts 2009 - 17:33 #5
Prøver igen.. :D


Checkbox:
<input type="checkbox" name="id[]" value="VÆRDI">

PHP:

"UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")";
Avatar billede maxiz Nybegynder
08. marts 2009 - 17:34 #6
Det jeg har sat som value, er min post id.
Så hvordan får jeg sat den ind?
Avatar billede zynzz Praktikant
08. marts 2009 - 17:40 #7
Prøv at udkriv $delete_ids får du så de værdier du har krydset af ?
Avatar billede maxiz Nybegynder
08. marts 2009 - 17:48 #8
Nope.. der kommer ingenting frem.. jeg kan godt få det til at virke når det kun er 1 checkbox og $delete_ids og [] ikke er inkluderet. Men problemet opstår når der skal flere afsted med samme navn
Avatar billede zynzz Praktikant
08. marts 2009 - 17:55 #9
Og du sætter name=id[] ???
Avatar billede maxiz Nybegynder
08. marts 2009 - 17:58 #10
Ja;
<form name="slet2" id="slet2" method="post" action="/del2.php">

<input name="id[]" type="checkbox" id="id[]" value="1">
<input name="id[]" type="checkbox" id="id[]" value="2">

<input name="id" type="submit" id="id" value="delete">
</form>
Avatar billede zynzz Praktikant
08. marts 2009 - 18:04 #11
Følgende virker:

<form name="slet2" id="slet2" method="post" action="">



<?php

// Opdatere
if(isset($_POST['Sletknap'])){
    $id = $_POST['id'];
    $delete_ids = implode(", ",$id);
    $query = "UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")";

    echo $query;
}





// Udskriv checkbox
$i = 1;
while($i < 10){
echo $i.'<input name="id[]" type="checkbox" id="id[]" value="'.$i.'">';
$i++;
}
?>


<input name="Sletknap" type="submit" id="id" value="delete">
</form>
Avatar billede olebole Juniormester
08. marts 2009 - 18:06 #12
<ole>

Du kan prøve denne kode, der meget gerne skulle resultere i et array, når du trykket på submit knappen:

<pre>
<?php
var_dump($_POST["slet"])."<hr>";
?>
</pre>

<form method="post" action="">
<input type="checkbox" name="slet[]" value="1">
<input type="checkbox" name="slet[]" value="2">
<input type="checkbox" name="slet[]" value="3">
<input type="checkbox" name="slet[]" value="4">
<p><button type="submit">TEST</button></p>
</form>

/mvh
</bole>
Avatar billede maxiz Nybegynder
12. marts 2009 - 10:42 #13
tak for hjælpen det virker
Avatar billede olebole Juniormester
12. marts 2009 - 13:19 #14
Det ville nok være blevet opfattet som udslag af høflighed, hvis du havde spurgt zynzz, om han ville lægge et svar og få points for at have givet dig løsningen  ;o)
Avatar billede zynzz Praktikant
22. marts 2009 - 19:27 #15
Skidt med det jeg overlever.. , men af høflighed bør du nok skrive til folk om svar en anden gang..
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