login  Naam:   Wachtwoord: 
Registreer je!
 Forum

geen update:(

Offline roy - 05/02/2005 22:43
Avatar van royPHP gevorderde hallo,

dit is een onderdeel van mijn script, eronder staat het bijbehorende formuliertje.
Hij werkt half, de INSERT werkt probleemloos, maar de update werkt niet. Heeft iemand enig idee wat ik fout heb gedaan?

  1. <?
  2.  
  3. if ($_FILES['bestand']) {
  4.  
  5. //************* te editeren *******************
  6. //database spullen
  7.  
  8. //tabeldinges
  9. $tabelnaam = "tacx"; //naam van de tabel
  10. $origineelveld = "origineel"; //naam van de velden in je tabel
  11. $uniekveld = "uniek"; //naam van de velden in je tabel
  12. $mimeveld = "mime"; //naam van de velden in je tabel
  13.  
  14. //volgende var is het pad waar alles wordt opgeslagen.
  15. $eindlocatie = $_SERVER['DOC_ROOT']."files/tacx/"; //echo deze variabele als je niet zeker bent!
  16.  
  17. //*********************************************
  18.  
  19. $result = mysql_query("SELECT * FROM ".$tabelnaam." WHERE user='" . $id . "' AND Round='" . $Round . "'");
  20. $row = mysql_fetch_array($result);
  21. //is er nog geen cijfer gegeven
  22. if ($row == 0) {
  23.  
  24. $uniekenaam = date("YmdHis");
  25. echo "geen resultaten";
  26. echo $bestandsnaam = str_replace("\'","\\'",$_FILES['bestand']['name']);
  27. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) ) {
  28. $queryzin = "INSERT INTO ".$tabelnaam." (".$uniekveld.", ".$origineelveld.", ".$mimeveld.",user,Dd,Dm,Dy,Th,Tm,Ts,Round) VALUES ('".addslashes($uniekenaam)."', '".addslashes($_FILES['bestand']['name'])."','".addslashes($_FILES['bestand']['type'])."','" . $id . "','" . $Dd . "','" . $Dm . "','" . $Dy . "','" . $Th . "','" . $Tm . "','" . $Ts . "','" . $Round . "')";
  29. mysql_query($queryzin) or die(mysql_error());
  30. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  31. } else {
  32. //gn transport
  33. echo "<font color=red>geen transport</font><br>";
  34. }
  35. }
  36.  
  37. } elseif ($row == 1) {
  38. echo "update";
  39. $uniekenaam = date("YmdHis");
  40. echo $bestandsnaam = str_replace("\'","\\'",$_FILES['bestand']['name']);
  41. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) ) {
  42. $queryzin = "UPDATE ".$tabelnaam." SET ".$uniekveld."='".addslashes($uniekenaam)."', ".$origineelveld."='".addslashes($_FILES['bestand']['name'])."', ".$mimeveld."='".addslashes($_FILES['bestand']['type'])."', user='" . $id . "', Dd='" . $Dd . "', Dm='" . $Dm . "', Dy='" . $Dy . "', Th='" . $Th . "', Tm='" . $Tm . "', Ts='" . $Ts . "', Round='" . $Round . "' WHERE user=" . $_GET['id'] . " AND Round='" . $Round . "'";
  43. mysql_query($queryzin) or die(mysql_error());
  44. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  45. } else {
  46. //gn transport
  47. echo "<font color=red>geen transport</font><br>";
  48. }
  49. }
  50. ?>

9 antwoorden

Gesponsorde links
Offline numlockrond - 05/02/2005 22:46 (laatste wijziging 05/02/2005 22:46)
Avatar van numlockrond Onbekend wat houdt "werkt niet" in?? we zijn niet helderziend en we hebben niet precies dezelfde situatie op onze server zodat we het kunnen testen, we hebben echt wat meer info nodig.

Weer het standaard verhaaltje:
Als je een foutmelding krijgt, welke dan?? Krijg je geen foutmelding?? Dan voldoet er waarschijnlijk geen enkele rij aan de voorwaarden die je stelt in de WHERE clause.
Offline Maarten - 05/02/2005 22:47
Avatar van Maarten Erelid Zet na de query's eens
Zo krijg je direct de fout te zien.
Offline roy - 05/02/2005 23:31 (laatste wijziging 06/02/2005 14:02)
Avatar van roy PHP gevorderde sorry,

ik krijg geen enkele foutmelding te zien, zelfs niet echo "update"; hij toont opnieuw het formuliertje wat er onder staat..

De waardes in de where-clause worden gepost vanuit het formuliertje.

welke WHERE clause bedoel je de eerste of de laatste?
Offline leendertW - 05/02/2005 23:55 (laatste wijziging 06/02/2005 00:08)
Avatar van leendertW PHP beginner
  1. <?
  2. ?>


zet dan eens boven aan je pagina.
Als je dat doet dan hoort hij alle fouten weer te geven.
Offline roy - 06/02/2005 00:06 (laatste wijziging 06/02/2005 00:36)
Avatar van roy PHP gevorderde dat maakt niks uit als ik dat doe. Hij toont gewoon het formuliertje weer opnieuw..

Heeft iemand een suggestie hoe het beter moet?
Offline roy - 06/02/2005 01:21
Avatar van roy PHP gevorderde is het soms makkelijker als je COUNT gebruikt?
Offline Xzero - 06/02/2005 01:47
Avatar van Xzero PHP beginner of mss dat je mysql_num_rows() kan gebruiken, moet je het zo doen:

  1. <?PHP
  2. $result = mysql_query("SELECT * FROM ".$tabelnaam." WHERE user='" . $id . "' AND Round='" . $Round . "'");
  3. $row = mysql_fetch_array($result);
  4. $count = mysql_num_rows($result);
  5. //is er nog geen cijfer gegeven
  6. if ($count == 0) {
  7. // verder
  8. }
  9. elseif ($count == 1) {
  10. // verder
  11. }
  12. ?>


(mss is dat wat roy bedoelt, maar ik schrijf het ff uit )
Offline roy - 06/02/2005 13:11 (laatste wijziging 06/02/2005 13:54)
Avatar van roy PHP gevorderde ik heb nu dit, het werkt bijna...

  1. <?
  2.  
  3. if ($_FILES['bestand']) {
  4.  
  5. //************* te editeren *******************
  6. //database spullen
  7.  
  8. //tabeldinges
  9. $tabelnaam = "tacx"; //naam van de tabel
  10. $origineelveld = "origineel"; //naam van de velden in je tabel
  11. $uniekveld = "uniek"; //naam van de velden in je tabel
  12. $mimeveld = "mime"; //naam van de velden in je tabel
  13.  
  14. //volgende var is het pad waar alles wordt opgeslagen.
  15. $eindlocatie = $_SERVER['DOC_ROOT']."files/tacx/"; //echo deze variabele als je niet zeker bent!
  16.  
  17. //*********************************************
  18.  
  19. $result = mysql_query("SELECT * FROM ".$tabelnaam." WHERE user='" . $id . "' AND Round='" . $Round . "'");
  20. $count = mysql_num_rows($result);
  21. //is er nog geen cijfer gegeven
  22. if ($count == 0) {
  23. $uniekenaam = date("YmdHis");
  24. echo "geen resultaten";
  25. echo $bestandsnaam = str_replace("\'","\\'",$_FILES['bestand']['name']);
  26. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) )
  27. {
  28. $queryzin = "INSERT INTO ".$tabelnaam." (".$uniekveld.", ".$origineelveld.", ".$mimeveld.",user,Dd,Dm,Dy,Th,Tm,Ts,Round) VALUES ('".addslashes($uniekenaam)."', '".addslashes($_FILES['bestand']['name'])."','".addslashes($_FILES['bestand']['type'])."','" . $id . "','" . $Dd . "','" . $Dm . "','" . $Dy . "','" . $Th . "','" . $Tm . "','" . $Ts . "','" . $Round . "')";
  29. mysql_query($queryzin) or die(mysql_error());
  30. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  31. }
  32. else {
  33. //gn transport
  34. echo "<font color=red>geen transport</font><br>";
  35. }
  36. }
  37. }
  38. elseif ($count == 1) {
  39. if ($_FILES['bestand']) {
  40. echo "update";
  41. $uniekenaam = date("YmdHis");
  42. echo $bestandsnaam = str_replace("\'","\\'",$_FILES['bestand']['name']);
  43. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) )
  44. {
  45. $queryzin = "UPDATE ".$tabelnaam." SET ".$uniekveld."='".addslashes($uniekenaam)."', ".$origineelveld."='".addslashes($_FILES['bestand']['name'])."', ".$mimeveld."='".addslashes($_FILES['bestand']['type'])."', user='" . $id . "', Dd='" . $Dd . "', Dm='" . $Dm . "', Dy='" . $Dy . "', Th='" . $Th . "', Tm='" . $Tm . "', Ts='" . $Ts . "', Round='" . $Round . "' WHERE user='" . $id . "' AND Round='" . $Round . "'";
  46. mysql_query($queryzin) or die(mysql_error($queryzin));
  47. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  48. }
  49. else {
  50. //gn transport
  51. echo "<font color=red>geen transport</font><br>";
  52. }
  53. }
  54. }
  55. ?>


De INSERT werkt goed, maar als hij moet updaten dan geeft hij alleen het formulier opnieuw...

ps.
de update query is toch goed opgebouwd?
Offline twopeak - 07/02/2005 18:04 (laatste wijziging 07/02/2005 18:04)
Avatar van twopeak Gouden medaille

PHP ver gevorderde
  1. if $_FILES {
  2. controleer aantal
  3. if count = 0 {
  4. if verplaats bestand = gelukt {
  5. doe acties
  6. }
  7. }
  8. } elseif count = 1 {
  9. doe update acties
  10. }
moet worden
  1. if $_FILES {
  2. controleer aantal
  3. if count = 0 {
  4. if verplaats bestand = gelukt {
  5. doe acties
  6. }
  7. } elseif count = 1 {
  8. doe update acties
  9. }
  10. }


heb ik gelijk?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.251s