Avatar billede Fiber Bjørn Juniormester
29. juni 2010 - 20:39 Der er 13 kommentarer og
2 løsninger

Ret det samme felt i flere "row" på en gang

Hej.

Jeg vil gerne rette et felt "godkendt" ved mange personer på en gang, men med en tjek box ud for vær person eller også som jeg har gjort under her, med at man f.eks skal udfylde feltet med "x"

Kan det lade sig gøre at "UPDATE" flere row/personer på en gang?

Dette er et uddrag af koden for at gøre dette lidt letter at se på.
if($_GET[action] == "ret"){

$strSQL = "UPDATE hold SET godkendt = '$_POST[godkendt] WHERE id = $ret_holdmedlem";
mysql_query($strSQL) or die(mysql_error());

        $query = mysql_query("select * from hold where id = '".$overid."'");
        $getter = mysql_fetch_array($query);
}


<form method="post" action="ret_holdet.php?action=ret&ret_holdmedlem=<?=$ret_holdmedlem?>">
<input type="text" name="navn" size="30" value="'.$getter['navn'].'"><input type="hidden" name="overid" size="73" value="'.$getter['id'].'">
<input type="text" name="godkendt" size="30" value="'.$getter['godkendt'].'">
<input name="sender" type="submit" id="sender" value="Ret">
<input type="button" value="Tilbage" onclick='location.href="holdet.php"'>
</form>
Avatar billede majbom Novice
29. juni 2010 - 21:19 #1
mener du at du f.eks. udskriver en lang liste med alle fra din tabel i databasen, og ud for hver forekomst er der en checkbox som så opdaterer feltet "godkendt" ved submit?
Avatar billede Fiber Bjørn Juniormester
29. juni 2010 - 22:46 #2
ja.

Det er fordi jeg gerne vil have det sådan at personen skal godkendes af Træneren før at han/hun får adgang til de interne siden som kun godkende spiller på holdet kan se. Og hvis man skal gå ind under vær enkelt så tager det jo lidt tid også var det bare om man kunne gøre det ved at klikke af i en box eller noget i den retning, ud for vær enkelt person. Når man så har klikket alle dem af som man gerne vil, så klikke på SEND ....
Avatar billede showsource Seniormester
29. juni 2010 - 23:38 #3
Nu har jeg ikke styr på dine forskellige navne, men:

<input type="checkbox" name="idref[]" value="<?php echo $ret_holdmedlem; ?>">

if(isset($_POST["idref"])) {

$ok = implode("," $_POST["idref"]);

$sql = "UPDATE tabel SET godkendt = 1 WHERE id IN (".$ok.")";

do query  ......

}
Avatar billede Fiber Bjørn Juniormester
11. juli 2010 - 20:19 #4
Så er jeg tilbage og arbejde med dette problem.

Når jeg indsætter dette

$ok = implode("," $_POST["idref"]);

bliver der bare en blank side
Hvad er der galt?
Avatar billede Fiber Bjørn Juniormester
11. juli 2010 - 20:20 #5
Det hele ser sådan ud

if(isset($_POST["idref"])) {
$ok = implode("," $_POST["idref"]);
$sql = "UPDATE holdet SET godkendt = x WHERE id IN (".$ok.")";
}

<? echo '<form id="form1" name="form1" method="post" action="godkend_holdet.php?action=idref"><input type="checkbox" name="idref[]" value="<?php echo $getter[godkendt]; ?>"><input type="submit" name="sender" value="Opret indl&aelig;g" /></form>'; ?>
Avatar billede majbom Novice
11. juli 2010 - 22:19 #6
du skal jo osse lige have:

mysql_query($query) or die(mysql_error());

efter $sql = "UPDATE...";
Avatar billede Fiber Bjørn Juniormester
11. juli 2010 - 22:33 #7
ja det er rigtig :)
nu skriver den

Query was empty

når jeg klikker et felt af og sender
Avatar billede Fiber Bjørn Juniormester
11. juli 2010 - 22:37 #8
det ser således ud nu:

if(isset($_POST["idref"])) {
$ok = implode(",", $_POST["idref"]);
$sql = "UPDATE tabel SET godkendt = 'x' WHERE id IN (".$ok.")" ;
mysql_query($query) or die(mysql_error());
}

<form id="form1" name="form1" method="post" action="godkend_holdet.php?ret_holdmedlem=<? echo $getter['id']; ?>">
<input type="checkbox" name="idref[]" value="<?php echo $ret_holdmedlem; ?>">
<input type="submit" name="sender" value="Opret indl&aelig;g" /></form>
Avatar billede Fiber Bjørn Juniormester
11. juli 2010 - 22:50 #9
Jeg har ændret
UPDATE tabel SET godkendt = 'x' WHERE id IN (".$ok.")
til
UPDATE hold SET godkendt = 'x' WHERE id IN (".$ok.")

men stadig samme fejl
Query was empty
Avatar billede majbom Novice
11. juli 2010 - 23:05 #10
prøv lige at udskriv $ok
Avatar billede Fiber Bjørn Juniormester
13. juli 2010 - 17:47 #11
Sådan .... så fik jeg fundet alle mine fejl. Jeg var vist lidt træt den aften :)
Sådan kom den endelige kode til at se ud :)

<input type="checkbox" name="idref[]" value="<?php echo $getter['id']?>">

if(isset($_POST["idref"])) {
$ok = implode(",", $_POST["idref"]);
$sql = "UPDATE hold SET godkendt = 'x' WHERE id IN (".$ok.")";
mysql_query($sql) or die(mysql_error());
}

Smid et svar i to:
splazz = 50 point
showsource = 150 point
Avatar billede majbom Novice
13. juli 2010 - 20:29 #12
kommer her :)
Avatar billede showsource Seniormester
15. juli 2010 - 05:26 #13
ok
Og ja, nogle gange kan man "ikke se stranden for bare piger" :O)
Avatar billede majbom Novice
15. juli 2010 - 06:34 #14
-> #13 - LOL!
Avatar billede majbom Novice
18. juli 2010 - 11:57 #15
tfp
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