login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere waarden UPDATEN tegelijk (Opgelost)

Offline DRobje - 08/03/2007 17:55 (laatste wijziging 08/03/2007 18:52)
Avatar van DRobjeNieuw lid hallo,

ik ben nu al dagen aan het stoeien en heb het gevoel er bijna te zijn, maar zie iets over het hoofd. De bedoeling van mijn script is dat er verschillende tickets worden gelogd. deze tickets hebben een uniek nummer en een letter ervoor. Onder deze nummers (tickets) worden bij dezelfde problemen issues bijgelogd onder hetzelfde ticketnr. Nu als zo'n ticket gesloten kan worden omdat deze is opgelost moet deze de status 'closed' krijgen. Maar ook die bijgelogde. in principe hebben de tickets de status open. Nu heb ik het volgende gedaan en weer van alle kanten aangepast. Zie nu door de bomen het bos niet meer. De bedoeling is dat men een dropdown menu krijgt en het ticketnr wat gesloten kan worden aanklikken en op submit drukken. Dit is de code:

  1. <form name="id1" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  2. <?php
  3. $query = "SELECT IPC FROM ft_form_4 GROUP BY 'IPC'" ;
  4. if(!$result = mysql_query($query)){
  5. echo 'er ging wat fout bij het ophalen van de gegevens uit de database';
  6. }
  7. else{
  8. ?>
  9. <select name="id1">
  10. <?php
  11. while ($rij = mysql_fetch_array($result))
  12. {
  13. echo "<option value=".$rij["IPC"].">".$rij["IPC"]."</option>" ;
  14. }
  15. ?>
  16. </select>
  17. <input type="submit" name="submit" value="bevestig" />
  18. <?php
  19.  
  20. if($_SERVER['REQUEST_METHOD'] == "post" || $_SERVER['REQUEST_METHOD'] == "POST"){
  21. if(isset($_POST['id1']) != NULL){//ticketnummer aangevinkt, value meegegeven
  22. $sql="UPDATE
  23. ft_form_4
  24. SET
  25. status='closed'
  26. WHERE
  27. IPC= ' ". $_POST['id1']."'";
  28.  
  29. echo "$sql";
  30. if(!mysql_query($sql)){
  31. echo 'Er is een fout opgetreden: '.mysql_error();
  32. }
  33. else{
  34. echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
  35. }
  36. else{
  37. echo 'Er is 1 rij aangepast.';
  38. }
  39. }
  40. }
  41. }
  42. }
  43.  
  44. ?>
  45. </form>

Wat doe ik hier nu nog fout??
Als ik die query echo krijg ik:
UPDATE ft_form_4 SET status='closed' WHERE IPC= ' I0211036'Er is 1 rij aangepast.
ten eerste zijn er meerdere rijen en ten tweede is er helemaal niets aangepast. Wie ziet de fout??

10 antwoorden

Gesponsorde links
Offline Stijn - 08/03/2007 18:50 (laatste wijziging 08/03/2007 18:51)
Avatar van Stijn PHP expert
  1. $query = "SELECT IPC FROM ft_form_4 GROUP BY 'IPC'" ;


moet zijn

  1. $query = "SELECT IPC FROM ft_form_4 GROUP BY IPC";


Offline DRobje - 08/03/2007 18:56 (laatste wijziging 09/03/2007 11:26)
Avatar van DRobje Nieuw lid Nou sorry, hij blijft daarmee hetzelfde doen. deze gebruik ik om het dropdown menu op te bouwen. het gaat ook om de update query. .

Is er niemand die dit weet???
Offline Dark_Paul - 09/03/2007 11:31 (laatste wijziging 09/03/2007 11:32)
Avatar van Dark_Paul PHP ver gevorderde $_SERVER['REQUEST_METHOD'] == "post" || $_SERVER['REQUEST_METHOD'] == "POST"
Waarom doe je dat? Alleen $_SERVER['REQUEST_METHOD'] == 'POST' is al genoeg..
Zet trouwens eens overal echo's tussen van: Gelukt tot regel <regelnummer>. Dan kan je precies zien waar het fout gaat. Ook even error_reporting(E_ALL); bovenaan je script zetten.
Offline DRobje - 09/03/2007 12:09 (laatste wijziging 11/03/2007 13:57)
Avatar van DRobje Nieuw lid Nou, ik kom er niet uit. Heb echo'geplaatst maar worden weergegeven. Ik heb die Query $sql ook een echo gegeven en daar zegt ie:
Er is 1 rij aangepast.UPDATE ft_form_4 SET status= 'closed' WHERE IPC= ' I0200255'
Nou perfect zou je zeggen. Maar daadwerkelijk gebeurt er dus niets in de db.
Wie weet raad?? 
Offline Voldemort - 11/03/2007 14:20
Avatar van Voldemort PHP ver gevorderde Zet je tabelstructuur hier eens (in CREATE TABLE vorm).
Offline DRobje - 11/03/2007 14:51 (laatste wijziging 12/03/2007 08:34)
Avatar van DRobje Nieuw lid Nou hier is tie dan maar ik betwijfel of het daar aan ligt. ik heb het namelijk al een keer voor elkaar gehad dat hij wel de update deed maar dan voor alle records.
  1. -- --------------------------------------------------------
  2.  
  3. --
  4. -- Tabel structuur voor tabel `ft_form_4`
  5. --
  6. -- Gecreëerd: 01 Mar 2007 om 15:16
  7. -- Laatst bijgewerkt: 09 Mar 2007 om 14:51
  8. --
  9.  
  10. CREATE TABLE `ft_form_4` (
  11. `submission_id` mediumint(8) unsigned NOT NULL auto_increment,
  12. `Part_Family` varchar(20) default NULL,
  13. `Request_Type` varchar(20) default NULL,
  14. `Prio` varchar(20) default NULL,
  15. `IPC` varchar(20) default NULL,
  16. `Parentpr` varchar(20) default NULL,
  17. `Childpr` varchar(20) default NULL,
  18. `Slacase` varchar(20) default NULL,
  19. `Description` varchar(255) default NULL,
  20. `submission_date` datetime default NULL,
  21. `ip_address` varchar(15) default NULL,
  22. `is_finalized` enum('yes','no') default 'yes',
  23. `status` varchar(20) default NULL,
  24. `Header` varchar(20) default NULL,
  25. `login` varchar(20) default NULL,
  26. PRIMARY KEY (`submission_id`)
  27. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=102 ;

:'(
Offline Ibrahim - 12/03/2007 08:43
Avatar van Ibrahim PHP expert probeer je query eens in phpmyadmin
Offline DRobje - 12/03/2007 13:43 (laatste wijziging 12/03/2007 14:36)
Avatar van DRobje Nieuw lid Die query werkt perfect, maar dan moet ik dus wel een ticketnr opgeven bij de WHERE. dus als volgt: UPDATE
ft_form_4
SET
status='closed'
WHERE
IPC='I0211036'

Dus, of het ligt aan deze: ' ". $_POST['id1']."'";
of aan de rest van de code.


UPDATE: Eindelijk !!!! wat een idiote toestand dat ik hier gewoon al dagen naar loop te zoeken. Er zat een SPATIE te veel in de query tussen de ' en " . nu werkt het zoals het hoort. Bedankt allen.
:p
Offline Ibrahim - 12/03/2007 14:15
Avatar van Ibrahim PHP expert echo die $_POST['id1'] dan eens
Offline DRobje - 12/03/2007 14:37
Avatar van DRobje Nieuw lid Het is opgelost. zie vorige actie
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s