login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Update? Wat doe ik fout? (Opgelost)

prinsrob – 10/06/2010 10:57
Hoi, heb even een simpel scriptje om data uit te lezen gemaakt. Nu moest daar een extra kolom toegevoegd worden die per persoon een update moet kunnen krijgen. Ik dacht toen, creeer die kolom en update deze simpel met een textveld. Nu krijg ik die waardes wel die inmiddels zijn ingevuld maar als ik deze wil wijzigen werkt het niet. Wat doe ik verkeerd?
  1. [code=php]
  2. <?php
  3.  
  4. $query = "SELECT pers_id, voornaam, voorvoegsel, achternaam, type, afdeling, functie, leidinggevende, ora, code FROM ft_form_2 ORDER BY (substr(ora,4 )+0) DESC, afdeling";
  5.  
  6.  
  7. $sql = mysql_query ($query) or die (mysql_error());
  8. if ($sql && mysql_num_rows($sql) >= 1) {
  9. echo "<table class=\"one\" border=\"1\" width=\"990\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">" ;
  10. echo "<tr><td><b>Pers_id</b></td>";
  11. echo "<td><b>Voornaam</b></td>";
  12. echo "<td><b>Voorvoegsel</b></td>";
  13. echo "<td><b>Achternaam</b></td>";
  14. echo "<td><b>Afdeling</b></td>";
  15. echo "<td><b>Functie</b></td>";
  16. echo "<td><b>ORA nummer</b></td>";
  17. echo "<td><b>Profiel</b></td></tr>";
  18.  
  19. while ($row= mysql_fetch_array ($sql)) {
  20. echo '<tr><td>'.$row['pers_id'].'</td>';
  21. echo '<td>'.$row['voornaam'].'</td>';
  22. echo '<td>'.$row['voorvoegsel'].'</td>';
  23. echo '<td>'.$row['achternaam'].'</td>';
  24. echo "<td>".$row['afdeling']."</td>";
  25. echo "<td>".$row['functie']."</td>";
  26. echo '<td><a href="detail.php?id='.$row['ora'].'">'.$row['ora'].'</a></td>';
  27. echo '<td><input name="code" type="text" id="code" value='.$row['code'].'></td></tr>';
  28.  
  29. } // end while
  30. }// end if
  31. $sql5="UPDATE ft_form_2 SET code='". $_POST['code']."'";
  32.  
  33. echo $sql5;
  34.  
  35. echo "</table>";
  36.  
  37. ?>
  38.  
  39. <input type="submit" name="Submit" value="Submit">
  40. </form>



Pagina:

19 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

Daiben – 10/06/2010 11:01
mysql_query($sql15);

titjes – 10/06/2010 11:14
Op regel 33 inderdaad, je moet je query niet echo'en maar doorgeven aan de methode mysql_query().

prinsrob – 10/06/2010 11:23
Ja gezien. Nu ik dat heb aangepast heb ik het zaakje naar de knoppen geholpen. Ik had er namelijk handmatig 5 ingevuld maar die zijn nu leeg..... Als ik dus een nieuwe waarde invul en op de knop drukt haalt hij weer alles leeg. Er klopt dus iets niet met de POST waarde. Ziet iemand dat?

nick5556 – 10/06/2010 11:29
Controleer eerst of het formulier wel verzonden is met:
  1. if(isset($_POST['Submit'])) {
  2. // formulier is verzonden
  3. }


of met:
if($_SERVER['REQUEST_METHOD'] === 'POST') {
// formulier is verzonden.
}
Controleer daarna je $_POST waarde eens of die daadwerkelijk leeg is met
[code=php]
if(empty($_POST['code'])) {
echo 'Post waarde is leeg';

}

prinsrob – 10/06/2010 11:45
Inderdaad !! de Post waarde is leeg.... Dan de logische vraag: hoe krijg ik deze weer gevuld. Want als ik het op de database even als test wat invul haalt hij ze er wel uit. Omdat de waarde met Post leeg is zal hij alle records weer leegmaken. Eigenlijk moet dit dus ook niet mogen. Kan iemand mij op weg helpen om het dusdanig aan te passen dat hij alleen kijkt of het wel geupdate moet worden. Dus als er niets staat laten staan en als er wel wat staat wijzigen.

larssy1 – 10/06/2010 11:50 (Laatst gewijzigd op 10/06/2010 11:51)
Ik zie je ook nergens de <form> tags oproepen btw.


**
Ik zie je de <form> tag sluiten, maar niet openen 

prinsrob – 10/06/2010 11:55 (Laatst gewijzigd op 10/06/2010 12:29)
Jawel die staat er nog boven:

  1. <th width="162" scope="col"><img src="../img/logo.gif" width="117" height="103"></th>
  2. </tr></table>
  3. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">



Probleem is dus dat de $POST waarde leegblijft.

Daiben – 10/06/2010 12:38 (Laatst gewijzigd op 10/06/2010 12:39)
ik zie nergens een input veld met de name code zet even bovenaan neer var_dump($_POST) of print_r($_POST)

nick5556 – 10/06/2010 13:02
@Daiben
  1. echo '<td><input name="code" type="text" id="code" value='.$row['code'].'></td></tr>';



Probeer eens te controleren of er wel een post meegegeven is aan de pagina met
  1. if($_SERVER['REQUEST_METHOD'] === 'POST') {
  2. // hier update uitvoeren.
  3. }


prinsrob – 10/06/2010 13:25 (Laatst gewijzigd op 10/06/2010 14:27)
nick5556 schreef:
@Daiben [..code..]

Probeer eens te controleren of er wel een post meegegeven is aan de pagina met
[..code..]


Had ik ook al gecontroleerd maar blijft hetzelfde. Gek genoeg merk je dus wel dat hij iets doet maar gooit alles op leeg.
De echo van jou blijft dus ook zeggen dat er geen waarde is.

Gesponsorde links


Pagina:

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.151s