login  Naam:   Wachtwoord: 
Registreer je!
 Forum

UPDATE wordt niet uitgevoerd (Opgelost)

Offline massimo - 20/04/2008 20:09 (laatste wijziging 20/04/2008 20:09)
Avatar van massimoNieuw lid hey,

Het is de bedoeling dat als de gebruiker de knop 'submit' klikt de waarde van 'stemmen' van die afbeelding met 1 verhoogt wordt.

De site verschijnt goed, als ik op de knop klik refresht de pagina maar de waarde blijft hetzelfde.

Onderaan vind je code van mijn pagina. Ik ben nieuw met php en kan de fout niet vinden. Ik hoop dat iemand me kan helpen.


grtz Massimo

  1. <?php
  2. if(isset($_POST[submit])) {
  3. $afbeelding = $row["afbeelding"];
  4. $update="UPDATE from a1972099_stemmen SET stemmen = stemmen + 1 where afbeelding = '$afbeelding'";
  5. mysql_query("$update");
  6. echo "submit is gelukt";
  7. }
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  10.  
  11. <html xmlns="http://www.w3.org/1999/xhtml">
  12. <head>
  13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  14. <title></title>
  15. <meta name="Keywords" content="" />
  16. <meta name="Description" content="" />
  17. <link href="default.css" rel="stylesheet" type="text/css" />
  18. </head>
  19. <body>
  20. <div id="header">
  21. <h1>Kot Jackpot</h1>
  22. <h2>Menu</h2>
  23. </div>
  24. <div id="content">
  25. <div id="colOne">
  26. <?php
  27. include("script/menu.php");
  28. ?>
  29.  
  30. <p> top 5</p>
  31. <ul>
  32. <ol>nummer 1</ol>
  33. <ol>nummer 2</ol>
  34. <ol>nummer 3</ol>
  35. <ol>nummer 4</ol>
  36. <ol>nummer 5</ol>
  37. </ul>
  38. </div>
  39. <div id="colTwo">
  40. <table cellspacing=20px>
  41. <?php
  42. include("script/connectdb.php");
  43. $result = mysql_query("SELECT afbeelding, beschrijving,stemmen FROM stemmen");
  44. $teller = 0;
  45. while ($row = mysql_fetch_array($result)) {
  46. if($teller == 0){
  47. print"<tr>";
  48. }
  49. print"<td><img src=\"foto/".$row["afbeelding"]."\" width=260 height=230><br />Beschrijving: ".$row["beschrijving"]."<br />";
  50. print"Aantal stemmen: ".$row["stemmen"]." <br />";
  51. ?>
  52. <form action="<?$_SERVER['PHP_SELF']?>" method="post">
  53. <input type="button" name="submit" value="Stem!" onclick="location.reload(true)">
  54. </form>
  55. <?php
  56. $teller++;
  57. if($teller == 2){
  58. print"</tr>";
  59. }
  60. }
  61. mysql_close($dbh);
  62. ?>
  63. </table>
  64. </div>
  65. </div>
  66. <div id="footer">
  67. <p>Copyright (c) 2008 kotjackpot.be . All rights reserved. <br />
  68. Design by Massimo Adriaens</p>
  69. </div>
  70. </body>
  71. </html>

13 antwoorden

Gesponsorde links
Offline Rens - 20/04/2008 20:10
Avatar van Rens Gouden medaille

Crew algemeen
Haal ten eerste die quotes eens weg om je variabelen.
Dus gewoon:
  1. mysql_query($update);

En zet er eens error_reporting(E_ALL); boven.
Zo krijg je alle fouten te zien die er in je script zitten.
Offline massimo - 20/04/2008 20:25 (laatste wijziging 20/04/2008 20:26)
Avatar van massimo Nieuw lid heb gedaan wat je gezegd hebt

ik kreeg 1 fout, dat heb ik kunnen oplossen.

maar het resultaat is nog altijd hetzelfde

de nieuwe code vind je hier: http://www.plaatscode.be/7373/
Offline Rens - 20/04/2008 21:15
Avatar van Rens Gouden medaille

Crew algemeen
regel 4.
$row is alleen beschikbaar in het 2e deel van je script.
Je zult dit met een $_GET op moeten lossen.
http://www.site...lobals#get
Offline massimo - 21/04/2008 12:38
Avatar van massimo Nieuw lid ik heb geprobeerd met $_GET te werken.
maar ik weet niet goed hoe ik het moet gebruiken
ik wil de 'name' van mijn button laten afhangen van de naam vd afbeelding
zo weet ik op welke afbeelding er geklikt is


mijn code bovenaan mijn pagina:
  1. <?php
  2. if(isset($_POST['<? $afbeelding ?>'])) {
  3. $update="UPDATE from a1972099_stemmen SET stemmen = stemmen + 1 where afbeelding =".$_GET[$afbeelding]."";
  4. mysql_query($update);
  5. echo "submit is gelukt";
  6. }
  7. ?>


mijn formulier:
  1. <form action="<?$_SERVER['PHP_SELF']?>" method="post">
  2. <input type="button" name="<? $afbeelding ?>" value="Stem!" onclick="location.reload(true)">
  3. </form>

hier vind je mijn volledige pagina: http://www.plaatscode.be/7402/
Offline GTW - 21/04/2008 12:53
Avatar van GTW Gouden medaille

PHP gevorderde
Je update query is niet correct. (mss dat het zo ook kan, zelf nooit gebruikt ) maar de "from" hoeft niet in je query. gewoon "UPDATE <tabelnaam>"
Offline massimo - 21/04/2008 19:53
Avatar van massimo Nieuw lid heb mijn query aangepast, maar mijn query wordt nog altijd niet uitgevoerd  
Offline Kr4nKz1n - 22/04/2008 09:56
Avatar van Kr4nKz1n Onbekend
  1. <?php
  2. if(isset($_POST['<? $afbeelding ?>'])) {


Klopt NIKS van.

Je geeft het veld de naam van $afbeelding, deze haal je NIET op deze manier op, en sowieso is dat niet de juiste manier.
Je veldnaam moet gewoon afbeelding heten ofzo.'

En die <? ?> moeten weg, php in php?

Hier klopt echt NIKS van
Offline massimo - 22/04/2008 17:14
Avatar van massimo Nieuw lid was idd verkeerd, heb dat verbeterd.
ik heb een paar dingen veranderd
ik heb alle variabelen in vaste waarden veranderd en ik denk dat mijn query en mijne formulier nu correct zijn
maar nog werkt het niet.

het is mijn bedoeling dat er bij elke afbeelding een knop staat om te stemmen en als er dan geklikt wordt, het aantal stemmen van de afbeelding waar de knop bijhoort met 1 verhoogt wordt.

mijn formulier is nu dit
  1. <form action="<?$_SERVER['PHP_SELF']?>" method="post">
  2. <input type="button" name="afbeelding" value="Stem!" onclick="location.reload(true)">
  3. </form>


code bovenaan mijn pagina:
  1. if(isset($_POST['afbeelding'])) {
  2. $update="UPDATE a1972099_stemmen SET stemmen = stemmen + 1 where afbeelding = 'winter.jpg'";
  3. mysql_query($update);
  4. echo "submit is gelukt";
  5. }
Offline Kr4nKz1n - 22/04/2008 23:36
Avatar van Kr4nKz1n Onbekend Je kan het ook met een linkje doen. En dan met $_GET werken.
Offline Wim - 23/04/2008 00:06
Avatar van Wim Crew algemeen <input type="submit" ipv <input type="button"?

En die onclick mag volgens mij ook weg, daar staat RELOAD in, herlaad, volgens mij wordt de postdata nog niet verzonden! (geen idee of het 100% correct is, tis maar een vermoeden!)
Offline massimo - 26/04/2008 13:27
Avatar van massimo Nieuw lid Met $_GET zou het moeten werken. Ik werk nu met een hidden field in mijn form die als value de naam vd afbeelding krijgt. Als ik op de knop klik wordt stemmen.php geopend en daar toon ik de geselecteerde afbeelding.
Alleen wordt mijn query $update nog altijd niet uitgevoerd

dit is mijn form:
  1. <form action="script/stemmen.php" method="get">
  2. <input type="hidden" name="afbeelding" value="<? echo "$afbeelding"?>" />
  3. <input type="submit" name="stem" value="Stem!" /> <!--onclick="location.reload(true)"-->
  4. </form>


en dit is stemmen.php:
  1. <?php
  2. ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. <title>Untitled Document</title>
  8. </head>
  9.  
  10. <body>
  11. <?php
  12. echo "$_GET[afbeelding]";
  13. include("connectdb.php");
  14. $update="UPDATE stemmen SET aantalStemmen = stemmen + 1 WHERE afbeelding = $_GET[afbeelding]";
  15. mysql_query($update);
  16. print"<img src=\"../foto/".$_GET['afbeelding']."\" width=260 height=230><br />";
  17. mysql_close($dbh);
  18. echo " <a href=\"../jackpot.html\">Keer terug </a>";
  19. ?>
  20. </body>
  21. </html>
Offline Joost - 26/04/2008 13:44 (laatste wijziging 26/04/2008 13:45)
Avatar van Joost PHP expert Wat je zoiezo kan doen is:
  1. mysql_query($update) or die(mysql_error());

en:
  1. $update="UPDATE stemmen SET aantalStemmen = stemmen + 1 WHERE afbeelding = ".$_GET['afbeelding']."";
  2.  
  3.  
  4. // echo "$_GET[afbeelding]"; geeft dat letterlijk weer, doe dit:
  5. echo $_GET['afbeelding'];


Ik weet niet of het helpt, maar misschien levert het wat op;)

Offline massimo - 26/04/2008 14:54
Avatar van massimo Nieuw lid mijn query moest dit zijn:
  1. $update="UPDATE stemmen SET aantalStemmen = aantalStemmen + 1 WHERE afbeelding = '".$_GET['afbeelding']."'";


er moesten nog ' rond de $_GET['afbeelding']

en
  1. aantalStemmen = stemmen + 1

moest dit zijn
  1. aantalStemmen = aantalStemmen + 1


stoeme fout  

maar nu doet ie het dus perfect  


bedankt voor de hulp!

Opgelost!


Massimo
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.302s