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?
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.
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 ;) )
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)
foreach($_POST['voorbeeld'] as $key=> $value){
mysql_query("UPDATE tabelnaam SET voorbeeldKolom = ".$_POST['tekstvakje'.$key]."") or die(mysql_error());
}
foreach($_POST['voorbeeld']as$key=>$value){
mysql_query("UPDATE tabelnaam SET voorbeeldKolom = ".$_POST['tekstvakje'.$key]."") or die(mysql_error());
foreach($_POST['translation_id'] as $key => $val)
{
mysql_query("UPDATE translation_texts SET translation='".addslashes($_POST['translation'.$key.''])."' WHERE id='".$_POST['translation_id']."'") or die(mysql_error());
}
foreach($_POST['translation_id']as$key=>$val)
{
mysql_query("UPDATE translation_texts SET translation='".addslashes($_POST['translation'.$key.''])."' WHERE id='".$_POST['translation_id']."'") or die(mysql_error());