Avatar billede christian-s Nybegynder
09. april 2004 - 02:33 Der er 8 kommentarer og
1 løsning

Opdatere flere MySQL raekker samtidigt

Jeg vil gerne opdatere feltet "order" i alle mine raekker.
Alle raekker har et unikt id, og det skal vel kobles til order naar de skal opdateres.

Der skal vel et array til, men jeg har desvaerre aldrig faaet laert den del.

Kan jeg faa lidt kode at arbejde med?
Avatar billede sukos Juniormester
09. april 2004 - 02:45 #1
Er det ud fra en form?
Eller er det alle order som skal opdateres?

Og skal der stå det samme i dem alle?
Har de samme id i de forskellige tables?
Avatar billede christian-s Nybegynder
09. april 2004 - 23:02 #2
ja, det er ud fra en form.
det er alle order der skal opdateres.

nej, de skal opdateres med den nye value til hver deres unikke id.
der er kun een tabel. jeg vil have alle order's ud i en form, hvor de kan rettes samtidigt, og derefter alle opdateres ved hver deres unikke id.

haaber det hjaelper!
Avatar billede coderdk Praktikant
10. april 2004 - 00:28 #3
Omdøb dit felt order, det er et reserveret ord i SQL ;)
Ellers er det simpelt:

UPDATE dintabel SET ordre = unikidfelt;

Jeg mener du KAN bruge order (selvom det ikke er anbefalet) sådan:

UPDATE dintabel SET `order` = unikidfelt;

men er ikke 100% på det ;)
Avatar billede sukos Juniormester
10. april 2004 - 07:02 #4
Det er jo rigtigt hvad coderdk skriver! :O)
Omend du kan bruger order hvis du skriver det med `order` så brug hellere et andet navn. Herunder hedder feltet var :


<?php
$db = @mysql_pconnect("localhost", "bruger", "pass") or die (mysql_error());
mysql_select_db("eksperten", $db) or die (mysql_error());

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

while(list($key, $value) = each($_POST)) {
if($key == "dbupdate") {
continue;
}

mysql_query("UPDATE `udtraek` set `var` = '". $value ."' WHERE `id` = '". $key ."'") or die (mysql_error());
}
}


$get = mysql_query("SELECT `id`, `var` FROM `udtraek`") or die (mysql_error());

echo"<form action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"<input type=\"hidden\" name=\"dbupdate\" value=\"true\">\n";

while($vis = mysql_fetch_object($get)) {
echo"<input type=\"text\" name=\"". $vis->id ."\" value=\"". $vis->var ."\"><br>\n";
}

echo"<input type=\"submit\">";

?>
Avatar billede christian-s Nybegynder
13. april 2004 - 21:12 #5
okay, det feltet heller ikke order - men feltet repraesenterer raekkens order :)

jeg ved godt hvordan jeg opdaterer een raekke, det jeg har brug for er at opdatere en masse raekker samtidigt. jeg har en masse inputs med et unikt id som name og et tal som value.

hvordan opdaterer jeg dem?
Avatar billede christian-s Nybegynder
15. april 2004 - 22:41 #6
forslag?? jeg vil have opdateret nogle raekker vha. et array.
Avatar billede hmortensen Nybegynder
15. april 2004 - 23:32 #7
Hvad er der galt med sukos forslag, som gør det du efterspørger helt perfekt ?

Hvis det ikke er det du ønsker, må du forklare dig lidt bedre...
Avatar billede christian-s Nybegynder
17. april 2004 - 00:50 #8
undskyld, min fejl - det var praecis hvad jeg havde brug for!
det virker perfekt!

vil du svare igen?
Avatar billede sukos Juniormester
17. april 2004 - 06:00 #9
Kan jeg da godt!
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