|
Categorieën >
PHP & SQL
Meerdere dingen in 1x updaten
|
|
|
offline
|
Nieuw lid
|
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? |
18 antwoorden
|
|
|
offline
|
Nieuw lid
|
update kolom were condition = 'iets' ?
|
|
|
|
offline
|
PHP beginner
|
Ga Mysql leren?
|
|
|
|
offline
|
Nieuw lid
|
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.
|
|
|
|
offline
|
Nieuw lid
|
|
Jelmerholland – 07/03/2010 14:22 (Laatst gewijzigd op 07/03/2010 14:23)
|
|
offline
|
PHP beginner
|
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 ;) )
mysql_query("UPDATE tabel
SET(
'naam1' = safe(".$_POST['naam1']."),
'naam2' = safe(".$_POST['naam2'].")
)
WHERE ID = ".safe($_GET['id'])."
");
mysql_query("UPDATE tabel SET( 'naam1' = safe(".$_POST['naam1']."), 'naam2' = safe(".$_POST['naam2'].") ) WHERE ID = ".safe($_GET['id'])." ");
Zoiets zou moeten werken (zitten vast wat foutjes in, maar het is nog vroeg, ben net wakker ;) )
Is dit wat je bedoelt?
|
|
|
|
offline
|
Nieuw lid
|
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)
|
|
|
|
offline
|
Nieuw lid
|
Niemand die me snapt, of dit zelf heeft mee gemaakt?
|
|
|
|
offline
|
PHP interesse
|
Je doet gewoon in een for loopje een aantal UPDATE's?
|
|
|
|
offline
|
Nieuw lid
|
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)
|
|
offline
|
Nieuw lid
|
Erwin2010/Ertje2010 schizofreen?...
"update tabel set kolom1 = 'a', kolom2 = 'b', kolom3 = 'c' where id = 'id' "
"update tabel set kolom1 = 'a', kolom2 = 'b', kolom3 = 'c' where id = 'id' "
welk account mag ik deactiveren?
|
Dit onderwerp is gesloten.
|
|
|