login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Meerdere dingen in 1x updaten

Ertje2010 – 06/03/2010 21:19
Hoi,

Ik wil graag d.m.v. een $_POST meerdere velden updaten, denk bijvoorbeeld aan een forum catagorie overzicht met omschrijvingen. Zoals PHPBB/IPB heeft. Nu wil bij zo'n soortgelijk iets met 1 update al die velden kunnen laten updaten.

Moet ik dan binnen die $_POST een loop maken om te checken wat er geupdate moet worden of? Heeft iemand een voorbeeldje?


Pagina:

18 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

vinTage – 06/03/2010 22:23
update kolom were condition = 'iets' ?

Jelmerholland – 06/03/2010 23:36
Ga Mysql leren? 

Ertje2010 – 07/03/2010 14:16
Ik kan MySQL, kan ook joins etc. Echter kom ik hier gewoon even niet uit.

Ik heb deze structuur.

id naam1 naam2

Nu heb ik een formulier die die gegevens uitleest, waarbij je naam2 kunt 'updaten'.
Echter gaat dat nooit werken in 1 query aangezien ik dus alles in 1x wil updaten.

Heeft iemand hier even een klein voorbeeldje van (loopje) want ik kom er nu even niet uit.

YesItIsChris – 07/03/2010 14:20
http://www.site...aytoString


$sQuery = "UPDATE tblcat SET ".ArraytoString( $_POST, "'key' = 'value'", ', ')." WHERE catid='".$iID."'";

Jelmerholland – 07/03/2010 14:22 (Laatst gewijzigd op 07/03/2010 14:23)
Wacht ff:

Je hebt dus een tabel, met:
ID | naam1 | naam2

Nou heb je een formulier, en als je op 'submit' drukt, dan moet hij naam1 updaten?
Of wil je dat hij naam1 EN naam2 update waar ID = [een bepaalde] id?

Je kan gewoon zoiets doen
(safe() is een functie met mysql_real_escape_string(), is altijd beter, scheelt typwerk enzo ;) )
  1. mysql_query("UPDATE tabel
  2. SET(
  3. 'naam1' = safe(".$_POST['naam1']."),
  4. 'naam2' = safe(".$_POST['naam2'].")
  5. )
  6. WHERE ID = ".safe($_GET['id'])."
  7. ");



Zoiets zou moeten werken (zitten vast wat foutjes in, maar het is nog vroeg, ben net wakker ;) )

Is dit wat je bedoelt?

Erwin2010 – 08/03/2010 10:50
Om globaal het idee te hebben:

Ja, echter is dit niet juist.
Hij laad de gegevens vanuit een while, met daarin id, info/text welke veranderd kan worden.

Nu is de id, en de omschrijving/text dus telkens anders.

vandaar dat je queries krijgt als:

UPDATE tabel SET translation='x' WHERE id=id
UPDATE tabel SET translation='x' WHERE id=id
UPDATE tabel SET translation='x' WHERE id=id
UPDATE tabel SET translation='x' WHERE id=id
UPDATE tabel SET translation='x' WHERE id=id
UPDATE tabel SET translation='x' WHERE id=id

(stel dat ik dus 6 dingen wijzig), dat gaat dus wel in 1 query maar om daar nou op te checken..)

Makkelijker lijkt me dit idee dus.. (gaat niet om 5000 queries per keer trouwens)

Ertje2010 – 08/03/2010 21:32
Niemand die me snapt, of dit zelf heeft mee gemaakt?

TotempaaltJ – 08/03/2010 22:05
Je doet gewoon in een for loopje een aantal UPDATE's?

Ertje2010 – 08/03/2010 22:08
Ja, maar mijn probleem is nu dat ik niet met m'n heldere geest weet hoe ik 'm precies kan checken.

Ik geef alles een hidden input mee die er zo uitziet:
<input type="hidden" name="translation_id" value="13">

En de tekst zelf (content) ziet er altijd zo uit:
<input type="text" name="translation" value="Contact" style="width: 260px;">

Nu kan ik die translation misschien beter omzetten in bijv translation_13 (id nr?)?

vinTage – 08/03/2010 22:11 (Laatst gewijzigd op 08/03/2010 22:12)
Erwin2010/Ertje2010 schizofreen?...


  1. "update tabel set kolom1 = 'a', kolom2 = 'b', kolom3 = 'c' where id = 'id' "




welk account mag ik deactiveren?

Gesponsorde links


Pagina:

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.067s