login  Naam:   Wachtwoord: 
Registreer je!
 Forum

select juiste invoer (Opgelost)

Offline BaddyZ - 30/05/2007 22:49
Avatar van BaddyZNieuw lid Hallo,

Ik ben bezig met een cms systeem en ik wil graag dat ik namen kan wijzigen. ik heb het atm zo gedaan:

  1. //methode categorie wijzigen
  2.  
  3. elseif(isset($_POST['categorieWijzigen'])){
  4. $naamWijziging = $_POST['categorieWijzigen'];
  5. $queryWijzigen = "UPDATE categorie SET naam = '".$naamWijziging."'";
  6. mysql_query($queryWijzigen) or die(mysql_error());
  7. header('Refresh:0 url=main.php?page=configuratie&cat=aanpassen&wijzig=wijzigen');
  8. }
  9.  
  10. ?>
  11.  
  12. <form action="" method='post'>
  13. <table border='1'>
  14. <tr><td align='center'><b>Naam:</b></td><td align='center'><b>Invoer Wijziging:</b></td><td align='center'><b>Submit Wijziging:</b></td><td align='center'><b>Verwijder:</b></td></b></tr>
  15. <?php
  16. $getCategorie= mysql_query("SELECT naam FROM categorie") or die(mysql_error());
  17. while($rowCategorie = mysql_fetch_array($getCategorie, MYSQL_BOTH)){
  18. ?>
  19. <tr>
  20. <td width="120" align="center"><?php echo $rowCategorie[0];?></td>
  21. <td width="60"> <input type="text" name="categorieWijzigen" value="<?php echo $rowCategorie[0];?>" /></td>
  22. <td width="120" align="center"><input type="submit" name="submitWijzigen" value="Wijzig" style="cursor:pointer;" /></td>
  23. <!-- Verwijder functie -->
  24. <td width="120" align="center"><input type="checkbox" name="categorieVerwijderen[]" value="<?php echo $rowCategorie[0];?>"></td>
  25. </tr>
  26.  
  27. <?php
  28. //stop while loop
  29. }
  30. ?>


als er bijvoorbeeld 3 namen zijn:
jan
piet
klaas

en je wilt piet wijzigen in sjaak. dan worden alle namen gewijzigd in klaas. Dit komt omdat ik een isset gebruik en in alle invoer velden is alles al gezet. Ook al laat ik de invoer velden leeg, hij pakt steeds de laatste naam en daar verandert hij alles in. Dus ik moet
hier:
  1. elseif(isset($_POST['categorieWijzigen'])){
  2. $naamWijziging = $_POST['categorieWijzigen'];
  3. $queryWijzigen = "UPDATE categorie SET naam = '".$naamWijziging."'";
  4. mysql_query($queryWijzigen) or die(mysql_error());
  5. header('Refresh:0 url=main.php?page=configuratie&cat=aanpassen&wijzig=wijzigen');
  6. }


iets beters voor verzinnen. Kan iemand me helpen ?

6 antwoorden

Gesponsorde links
Offline roelh - 30/05/2007 22:56
Avatar van roelh PHP gevorderde Als goed is heeft elke naam toch een ID?
Dan moet je dus zo doen 

  1. $queryWijzigen = "UPDATE categorie SET naam = '".$naamWijziging."'" where ID = '".$_GET['id']."';
Offline BaddyZ - 30/05/2007 23:31
Avatar van BaddyZ Nieuw lid ja maar dan moet ik wel eerst een id in de url krijgen bijv &url=2
maar hoe moet dat met een input a href kan dan niet 
Offline Dolfje - 30/05/2007 23:35 (laatste wijziging 30/05/2007 23:36)
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
Je moet dit meegeven met de input dat je wilt editen:
  1. elseif(!empty($_POST['categorieWijzigen'])){
  2. foreach($_POST['categorieWijzigen'] as $id => $value)
  3. {
  4. $queryWijzigen = "UPDATE categorie SET naam = '".$naamWijziging."' WHERE id='".$id."'";
  5. mysql_query($queryWijzigen) or die(mysql_error());
  6. }
  7. header('Refresh:0 url=main.php?page=configuratie&cat=aanpassen&wijzig=wijzigen');
  8. }
  9. ...
  10. $getCategorie= mysql_query("SELECT id,naam FROM categorie")
  11. ...
  12. <input type="text" name="categorieWijzigen['<?php echo $rowCategorie[0];?>']" value="<?php echo $rowCategorie[1];?>" />
Offline BaddyZ - 30/05/2007 23:41 (laatste wijziging 30/05/2007 23:41)
Avatar van BaddyZ Nieuw lid
  1. <input type="text" name="categorieWijzigen['<?php echo $rowCategorie[0];?>']" value="<?php echo $rowCategorie[1];?>" />


deze snap ik niet echt
en dan vooral:
  1. name="categorieWijzigen['<?php echo $rowCategorie[0];?>']"
Offline Dolfje - 31/05/2007 00:03
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
Hier maak je een array van je input:
<input type="text" name="categorieWijzigen['5']" value='Jan' />
<input type="text" name="categorieWijzigen['3']" value='Piet' />
<input type="text" name="categorieWijzigen['7']" value='Tom' />
als je nu iets veranderd, krijg je het in php zo terug:
  1. $_POST['categorieWijzigen'] = array(5=>'Jan',3=>'Piet',7=>'Tommie')

Dus kan je alle namen aflopen en in de database veranderen.
Offline BaddyZ - 31/05/2007 10:45 (laatste wijziging 31/05/2007 19:51)
Avatar van BaddyZ Nieuw lid Bedankt het werkt

Alleen
  1. $queryWijzigen = "UPDATE `categorie` SET `naam` = '".$value."' WHERE id= '".$id."';


Moet zijn:D:D want id is een nummer :D en om nummers moeten geen quotes heen 

  1. $queryWijzigen = "UPDATE `categorie` SET `naam` = '".$value."' WHERE categorieid= $id";
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.233s