login  Naam:   Wachtwoord: 
Registreer je!
 Forum

update meerdere tegelijk

Offline roy - 18/02/2005 20:36 (laatste wijziging 19/02/2005 14:09)
Avatar van royPHP gevorderde hallo,

  1. <?
  2.  
  3. if(isset($_POST["submitreactie"])){
  4. $query = mysql_query("UPDATE events SET Round='".$round."' WHERE id='$id'") or die(mysql_error("Kon geen verbinding maken met MySQL"));
  5. echo "melding.";
  6. }
  7.  
  8.  
  9. ?>
  10.  
  11.  
  12.  
  13. <?PHP
  14. $query="SELECT * FROM `events` WHERE sort='league'";
  15. //nu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst
  16. $sql=mysql_query($query) or die (mysql_error());
  17.  
  18. while ($obj=mysql_fetch_object($sql)) {
  19.  
  20. $round = $obj->Round;
  21. $id = $obj->id;
  22.  
  23. ?>
  24. <form method="post" action="<? echo $_SERVER['PHPSELF']; ?>">
  25.  
  26. <input type="text" name="round" size="20" value="<? echo $round; ?>"><BR>
  27.  
  28.  
  29. <?PHP
  30. }
  31.  
  32. ?>
  33. <input type="submit" value="Submit" name="submitreactie">
  34. </form>


Dit is mijn script, ik haal gegevens uit een database en wil ze na verandering allemaal updaten.
ik kan ze wel stuk voor stuk gaan aanroepen maar dat is veel werk.

Hoe is dat mogelijk? moet de update dan in de lus..

Groeten,
Roy

NB. de connectie is eruit gehaald.

13 antwoorden

Gesponsorde links
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde tja, is het eigenlijk wel mogelijk...
Offline nemesiskoen - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van nemesiskoen Gouden medaille

PHP expert
je bent niet echt duidelijk wat je wilrnook is je script heel euh, onordelijkrnwaarom haal je het id eig uit de tabel als je hem nergens gebruiktrnhet is $_SERVER['PHP_SELF'];rnOok herhaal je de form tag...rnen wat moet het doenrnen wat doet het nietrnrnik versta dat het moet updaten, maar bedoel je nu dat die 2 query's in 1 moetenrnrnEDIT code een beetje leesbaarder gemaaktrnrn[code]phprnif(isset($_POST[submitreactie])){ rn $query = rn mysql_query(UPDATE events rn SET Round='.$round.' rn WHERE id='$id')rn or die(mysql_error(Kon geen verbinding maken met MySQL)); rnrn echo Je wachtwoord is succesvol gewijzigd en je accounts is weer geactiveerd.;rn}rnrn$query=SELECT FROM `events` WHERE sort='league'; rnnu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst rn$sql=mysql_query($query) or die (mysql_error()); rnrnrn form method=post action=php echo $_SERVER['PHP_SELF']; rnphprnwhile ($obj=mysql_fetch_object($sql)) { rnrn $round = $obj-Round;rn $id = $obj-id;rnrnrn input type=text name=round size=20 value=php echo $round; BRrnrnPHPrn}rnrnrn input type=submit value=Submit name=submitreactiern form[code]
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde die tweede query haald de gegevens uit de database (meerdere rijen)en zet ze in een formulier, daarin kunnen ze worden veranderd.rnnadat op submit is geklikt moet de database worden geupdate.rnrnzo iets duidelijker rn rn
Offline numlockrond - 30/11/1999 00:00
Avatar van numlockrond Onbekend dan zul je een bruikbaar formulier moeten maken. Nu noem je alle velden round. Als je het dan submit krijg je maar 1 van die velden als $_POST['round'] (de laatste denk ik).rnrnJe zou van je while dit kunnen makenrn[code]phprnrnwhile($rij = mysql_fetch_assoc($sql)){rnrn echo 'input type=text name=round['.$rij['id'].'] size=20 value='.$rij['Round'].'BR';rnrn}rnrn[code]rnrnBij het verwerken kun je dan met een foreach de array $_POST['round'] doorlopen en de gegevens updatenrn[code]phprnrnif(is_array($_POST['round'])){rnrn foreach($_POST['round'] AS $id = $nieuwe_waarde){rnrn updatenrnrn }rnrn}rnrn[code]
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde dat eerste deel begrijp ik.rnrnmaar dat tweede deel begrijp ik niet, wat doet de tweede regel en hoe ziet de update regel eruit en wat is het[b] WHERE-statement[b]
Offline Button - 30/11/1999 00:00
Avatar van Button PHP ver gevorderde ik heb het hierboven allemaal niet gelezen maar het where-statement httpsitemasters.bepagina=tutorialstutorials&cat=6&id=117
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde ik weet wat het is, de vraag is meer hoe het er hier uit moet komen rnte zienrnrnZo werkt het niet rnrnrn[code]php rnif (isset($_POST['submit']) == 1) { rnforeach($_POST['bigarray'] AS $array) rn{ rn $sql = UPDATE events SET Round='.$array['Round'].' WHERE id = '.$array['id'].'; rn mysql_query($sql) or die(Kan geen verbinding maken met de tabel); rn } rn} rnelse{ rn rn $sql = SELECT FROM `events` WHERE sort='league'; rn $result = mysql_query($sql) or die(mysql_error()); rn $num = mysql_num_rows($result); rn while ($row = mysql_fetch_assoc($result)) rn { rnecho 'form method=post action='.$_SERVER['PHPSELF'].'';rnecho input type=text name=bigarray[.$row['id'].] size=20 value=.$row['Round'].BR;rnrn} rnrn} rn rnrninput type=submit value=Updaten name=submitrnform[code]rnrnrnWie kan mij helpen
Offline spikepinneke - 30/11/1999 00:00
Avatar van spikepinneke HTML interesse ik vraag mij af waar numlockrond de waarde $nieuwe_waarde haaltrnrn
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde ja ik vraag me dat ook af, maar mijn laatste script is daar ook niet op gebaseerd.rnrnen toch werkt het niet
Offline Dennisvb - 30/11/1999 00:00
Avatar van Dennisvb MySQL ver gevorderde Dat is gewoon een teller die meetelt
Offline Thomas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Thomas Moderator Misschien zo wel rnrn[code]foreach($_POST['bigarray'] as $k = $v)rn{rn $sql = UPDATE events SET Round='.$v.' WHERE id = '.$k.';rn mysql_query($sql) or die(woops '.$sql.');rn}[code]
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde bedankt dit werkt rn rnals je het nu voor meerdere velden wil doen (ik doe zegmaar het veld distance er ook bij)rnhoe ziet de foreach er dan uit rnrn[b]Zoiets[b] (alleen zo klopt het niet, de waarde voor distance is hetzelfde als voor Round, hoe moet het wel)rn[code]PHPrnforeach($_POST['bigarray'] as $k = $v)rn{rn$sql = UPDATE events SET Round='.$v.', distance='.$v.' WHERE id = '.$k.';rn mysql_query($sql) or die(woops '.$sql.');rn[code]
Offline numlockrond - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van numlockrond Onbekend [quote]ik vraag mij af waar numlockrond de waarde $nieuwe_waarde haalt[quote]rn[quote]Dat is gewoon een teller die meetelt[quote] Lees [url=httpnl3.php.netmanualnlcontrol-structures.foreach.php]dit[url].rn[quote]als je het nu voor meerdere velden wil doen (ik doe zegmaar het veld distance er ook bij)rnhoe ziet de foreach er dan uit [quote] Het veld distance wijzig je dus ook in je formulier Als je hem op dezelfde manier print in je form, zodat je dus ook een array $_POST['distance'], dan kan je zoiets doenrnrn[code]PHPrnforeach($_POST['bigarray'] AS $id = $nieuwe_waarde){rnrn $sql = UPDATE events SET Round='.$nieuwe_waarde.', distance='.$_POST['distance'][$id].' WHERE id = '.$id.';rn mysql_query($sql) or die(woops '.$sql.');rnrn}rn[code]
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s