Avatar billede the_champ Nybegynder
18. januar 2004 - 18:26 Der er 7 kommentarer og
1 løsning

update flere felter

jeg skal have opdateret flere felter på en gang, men kan ikke helt få det til at virke

$sql_op1 = mysql_query("UPDATE opret_produktgruppe SET sorterings_prioritet = '12345' WHERE sorterings_prioritet = '1';"& _ "UPDATE opret_produktgruppe SET sorterings_prioritet = '776655' WHERE sorterings_prioritet = '2'");
Avatar billede erikjacobsen Ekspert
18. januar 2004 - 18:35 #1
Lav 2 mysql_query'er
Avatar billede limemedia Nybegynder
18. januar 2004 - 18:36 #2
Du bliver nødt til at udføre dem som selvstændige queries

mysql_query("UPDATE opret_produktgruppe SET sorterings_prioritet='12345' WHERE sorterings_prioritet='1'");
mysql_query("UPDATE opret_produktgruppe SET sorterings_prioritet='776655' WHERE sorterings_prioritet='2'");
osv osv.

Generel information om "UPDATE" i mysql : http://www.mysql.com/doc/en/UPDATE.html
Avatar billede limemedia Nybegynder
18. januar 2004 - 18:40 #3
Det ser ud til du leger med en art ombytning af produkter baseret på en prioritet... Jeg har før leget med følgende kode der virker udemærket til mit formål. prioritet kunne være et timestamp, som så automatisk har en unik værdi i tabellen. id og sid er felterne der skal ombyttes

$sql = mysql_query("
    SELECT id, prioritet
    FROM event_category
    WHERE id='".$_GET['id']."' || id='".$_GET['sid']."'
") or die(mysql_error());

while ($foo = mysql_fetch_assoc($sql)) $swap[$foo['id']] = $foo['stamp'];

mysql_query("UPDATE tabel SET prioritet='".$swap[$_GET['id']]."' WHERE id='".$_GET['sid']."'") or die(mysql_error());
mysql_query("UPDATE tabel SET prioritet='".$swap[$_GET['sid']]."' WHERE id='".$_GET['id']."'") or die(mysql_error());
Avatar billede jakoba Nybegynder
18. januar 2004 - 18:40 #4
Det ser mere ud somom du ønsker at opdatere samme felt til flere forskellige værdier :)

$sql_op1 = mysql_query("
    UPDATE opret_produktgruppe
      SET sorterings_prioritet = IF( sorterings_prioritet = '1','12345', '776655' )
    WHERE    sorterings_prioritet = '2'
          OR sorterings_prioritet = '1'
");

det der med & _' for at forlænge linier hører hjemme i ASP. i php er det bare gylle.

mvh JakobA
Avatar billede the_champ Nybegynder
18. januar 2004 - 19:23 #5
lars-jensen er inde på noget af det rigtige. jeg skal have ombyttet 2 værdier. grunden til at det skal være samtidig er at værdien f.eks 5 skal forhøjes til 6 og værdien 6 skal mindskes til 5. Hvis det ikke sker samtidig får de den samme værdi..jeg prøver at bruge lars-jensen eksempel er ikke sikker på at det er det jeg skal bruge
Avatar billede lemk5 Nybegynder
19. januar 2004 - 00:17 #6
brug evt. 1 UNION så kan du fyrer 2 sql af på en gang
Avatar billede the_champ Nybegynder
20. januar 2004 - 12:28 #7
jeg fandt en anden løsning, men tak for de gode svar. Da det er lars-jensen der har svaret giver jeg ham de 30 til ham
Avatar billede kappel Nybegynder
16. februar 2004 - 20:02 #8
Hvad er den anden løsning, jeg sidder med noget af det samme og er også stødt ind i problemet. Kan du hjælpe :-)

/kappel
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