login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoeken en updaten

Offline prinsrob - 06/02/2008 20:14 (laatste wijziging 06/02/2008 20:15)
Avatar van prinsrobNieuw lid Hoi allemaal,
ik heb een simpel zoekscriptje. het script geeft het resultaat in Resultaat.php
  1. <?
  2. //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
  3. if (!@mysql_select_db("provisioning", @mysql_connect("localhost", "provisioning", "database")))
  4. {
  5. echo "Er kan geen database connectie gemaakt worden.";
  6. exit();
  7. }
  8. ?>
  9.  
  10.  
  11. <form name="case" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  12. <p>&nbsp; </p>
  13.  
  14. <p>
  15. <?
  16. //-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
  17. //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
  18. $sql = "SELECT * FROM ft_form_10 WHERE Serial_Code LIKE '%$HTTP_POST_VARS[zoekterm]%'";
  19.  
  20. //-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
  21. //-- kijken of er een resultaat is
  22. $res = mysql_query($sql);
  23.  
  24. //-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
  25. if (mysql_num_rows($res) >= 1)
  26. {
  27. //-- er is een resultaat gevonden, toon de resultaten via een while () loop
  28. while ($row = mysql_fetch_array($res))
  29. {
  30. echo "<p>Resultaat Serial_Code: <b>$row[Serial_Code]</b><br>";
  31. echo "Activation Code: <b>$row[Activation_Code]</b><br>";
  32. echo "Offer Code: <b>$row[Offer_Code]</b><br>";
  33. echo "Expiration Date: <b>$row[Expiration_Date]</b><br>";
  34. echo "Sales Code: <b>$row[Sales_Code]</b><br>";
  35. }
  36.  
  37.  
  38. }
  39. //-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
  40. else
  41. {
  42. echo "<p>Het ingegeven serienummer :<b> $HTTP_POST_VARS[zoekterm]</b> is niet bekend. Controleer dit en probeer opnieuw.</p>";
  43.  
  44. echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
  45. }
  46. ?>


Werkt perfect !!

Maar.... nu wil ik dat resultaat kunnen updaten dmv 2 radio buttons aan te klikken zodat het nummer een status krijgt. Wie kan mij op weg helpen met die query en stukje code want ik heb lopen klungelen en krijg het niet voor elkaar..

11 antwoorden

Gesponsorde links
Offline CDNC - 06/02/2008 21:55
Avatar van CDNC PHP ver gevorderde - gebruik $_POST
- variabelen buiten quotes
- enkele quotes voor een array-index aan te geven...

Het kan zonder, das waar, maar het ziet er gewoon niet uit!


En verder snap ik totaal niet waar je naar toe wil...
Offline prinsrob - 06/02/2008 22:08
Avatar van prinsrob Nieuw lid Oh, dacht dat ik het toch duidelijk had omschreven wat het doel was. Maar goed, er wordt dus een serienummer opgezocht die moet bestaan. Als die bestaat moet er een status aan worden gegeven in het veld 'extra1' . die status moet worden ja of nee. Ik weet dat dit met een UPDATE query kan maar weet niet goed hoe deze in elkaar te draaien op basis van het opgezochte serienummer.
Offline CDNC - 06/02/2008 23:33 (laatste wijziging 06/02/2008 23:35)
Avatar van CDNC PHP ver gevorderde dat is duidelijker 

in de database zul je dus wel een veld 'sID' ofzo hebben, en dus ook het veld extra.

als je dan op resultaat.php daadwerkelijk een resultaat hebt gevonden, zou ik elk resultaat klikbaar maken: number.php?sID=1 ofzo, en daan een checkbox met de name="status" en value="1". Best ook een submit knopje

dan kun je php checken of je form is gesubmited

  1. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  2. $bStatus = (!empty($_POST['status']) && $_POST['status'] == 1) ? true : false;
  3.  
  4. // nu is $bStatus true als ie geselecteert is en anders false
  5. }



// edit: PHP tags werken niet naar behoren...
Offline prinsrob - 07/02/2008 09:23
Avatar van prinsrob Nieuw lid Ok, het werkt. Dwz de update werkt maar zonder een actie uit te voeren. Dus als het nummer is gezocht en resultaat wordt opgehaald dan is na 1 seconde de pagina klaar met updaten. In de database is dan ook daadwerkelijk het juiste serienr geupdate. Echter wil ik de mensen toch de knop in laten drukken. Dus waarom hij nu automatisch doorloopt snap ik even niet. Wie heeft de oplossing hiervoor??

  1. <?
  2. if($_SERVER['REQUEST_METHOD'] == "POST"){
  3. $bStatus = (!empty($_POST['status']) && $_POST['status'] == 1) ? true : false;
  4. $sql="UPDATE
  5. ft_form_10
  6. SET
  7. extra1='ja'
  8. WHERE
  9. Serial_Code='$HTTP_POST_VARS[zoekterm]'";
  10.  
  11.  
  12. //echo "$sql";
  13. if(!mysql_query($sql)){
  14. echo 'Er is een fout opgetreden: '.mysql_error();
  15. }
  16. else{
  17. echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
  18. }
  19. else{
  20. Print("<span class='kop'>Even geduld aub...</span><meta http-equiv='refresh' content='1;url=zoek.php'>");
  21.  
  22.  
  23. //echo 'aanvraag verwerkt.';
  24. }
  25. }
  26. }
  27.  
  28. ?>
Offline CDNC - 07/02/2008 10:06
Avatar van CDNC PHP ver gevorderde
  1. Print("<span class='kop'>Even geduld aub...</span><meta http-equiv='refresh' content='1;url=zoek.php'>");


daar moet ie van je refreshen... en hij zal niet doen wat er niet staat....
Offline prinsrob - 07/02/2008 12:49
Avatar van prinsrob Nieuw lid Hmmm.. dat lijkt dus vreemd. Maar als ik die eruit haal dan blijft ie stil staan. Maar dan maakt het niet uit of ik de radiobutton aanklik of niet. Hij update sowieso als ik op submit druk. Dan is het ook zo dat hij naar submit alle serienummers laat zien...
Ben de draad nu kwijt.
Offline CDNC - 07/02/2008 13:06
Avatar van CDNC PHP ver gevorderde je duh, bekijk je code...
  1. $bStatus = (!empty($_POST['status']) && $_POST['status'] == 1) ? true : false;
  2. $sql="UPDATE
  3. ft_form_10
  4. SET
  5. extra1='ja'
  6. WHERE
  7. Serial_Code='$HTTP_POST_VARS[zoekterm]'";

word $bStatus ergens gebruik, nee. je zet de nest altijd op ja...

EN VERANDER DIE LELIJKE $HTTP_... ENZ en je toertsenbort zal er niet van kapot gaan om eens wat quotes & puntjes te zetten.
Offline prinsrob - 07/02/2008 13:18
Avatar van prinsrob Nieuw lid Wat is het alternatief dan voor die $HTTP dan?
Offline CDNC - 07/02/2008 13:27
Avatar van CDNC PHP ver gevorderde $HTTP_ zijn al lang verouderd, gebruik $_POST je zult ook geen server meer vinden die $_POST niet 'kent'. En indien wel, weg bij/met die handel.
Offline prinsrob - 07/02/2008 13:58
Avatar van prinsrob Nieuw lid Ok, maar dan die variabele $bstatus. ik heb die radio button de naam 'status' gegeven. Waar moet ik die variabele dan terug laten komen??
Offline CDNC - 07/02/2008 15:08
Avatar van CDNC PHP ver gevorderde Misschien in je update-query?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s