PFZ.nl - PHP Community: Update via invoerformulier - PHP - Forum - PFZ.nl - PHP Community

Je kunt niet antwoorden op dit topic
#1 05-02-2012 16:00
  • andrevan
  • Groep: Forumleden
  • Posts: 15
  • Actief sinds: 26-01-2012
Hallo, met onderstaande kan ik gegevens wijzigen. Maar nu wil ik dit wijzigen via een invoerformulier met uitgangspunt de naam_kantinedienst. Ik heb diverse voorbeelden geprobeerd maar het lukt mij niet.
Heeft iemand een voorbeeld die aansluit bij mijn script!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
][<?php
$con = mysql_connect("****","****","****");
if (!$con)
  {  die('Could not connect: ' . mysql_error());  }
mysql_select_db("****", $con);

$query = "UPDATE naamtabel
SET
 datum_kantinedienst = 'augustus' // nieuwe datum
WHERE
 naam_kantinedienst = 'Andre'"; // gewijzigd bij Andre

mysql_query($query) or die (mysql_error());
mysql_close($con);

?>

#2 05-02-2012 17:12
Neem de volgende wiki artikelen eens door:
http://www.pfz.nl/wi...en-formulieren/
http://www.pfz.nl/wi...-nieuwssysteem/


En zo staan er nog veel meer artikelen in het wiki die antwoord kunnen geef op 1 van je vele vragen.


zomaar een greep:
http://www.pfz.nl/wi...ndeling-in-php/
http://www.pfz.nl/wiki/sqlinjectie/

En eigenlijk 1 van de belangrijkste:
http://www.pfz.nl/wiki/troubleshooter/

#3 05-02-2012 18:25
  • Ivo P.
  • Groep: Verenigingsleden
  • Posts: 2802
  • Actief sinds: 17-01-2002
Opmerking
augustus is niet een datum, maar de naam van een maand. Los nog van het feit dat er dan nog 31 dagen daaronder vallen dit jaar: je weet in 2013 ook niet meer bij welk jaar dat hoorde.
Ivo Peters
Developer en systeembeheerder @ PeHa ICT Services. blog.peha-ict.nl

#4 06-02-2012 13:23
  • andrevan
  • Groep: Forumleden
  • Posts: 15
  • Actief sinds: 26-01-2012
Hallo Robbert, bedankt voor je reacktie, echter ik ben al een tijdje bezig a.d.v. de voorbeelden van o.a 'het wiel uitgevonden' maar het lukt mij gewoon niet vandaar mijn vraag op dit forum. Het invoeren en ophalen is mij wel gelukt maar kom nu dus niet verder met het wijzigen van de gegevens via een invoerformulier.
PS Ivo met de datum augustus kom ik mee weg daar ik niet de datum notatie hanteer.
Hopelijk krijg ik een duwtje in de richting. Bedankt Andre

#5 06-02-2012 16:14
Nou, dan ben ik benieuwd wat je hebt opgestoken van de wiki artikelen.

Post eens wat relevante freubeltjes

#6 06-02-2012 18:36
  • andrevan
  • Groep: Forumleden
  • Posts: 15
  • Actief sinds: 26-01-2012
Robbert, door mijn gefreubel zoals jij dat noemt hieronder dat wat ik o.a. geprobeerd heb. Door knippen en plakken is het niet meer overzichtelijk denk ik. Maar je wou wat zien vermoedelijk of ik inderdaad het geprobeerd heb.
Ik ben een beginner met php.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mysql_query= "UPDATE
jos_kantinerooster SET
 naam_kantinedienst = '".mysql_real_escape_string($_POST['naam'])."'
WHERE datum_kantinedienst = '".mysql_real_escape_string($_POST['datum'])."'
"; 

if(mysql_query($sql){
echo "Successful";
echo "<BR>";
echo "<a href='admin_leden_bwk.php'>toon resultaat</a>";
}
else {
echo "ERROR";
}

echo "<table border='1' width='500'>
<tr>
<th colspan='2'>Hier kunt u uw datum wijzigen</th></tr>
<tr><td>&nbspNaam<td>&nbspDatum</td></tr>
";
while($row = mysql_fetch_array($result))


echo"</table>";
//new eind
 
mysql_close($con);
?>


of

1
2
3
4
5
6
7
8
9
//origineel
$sql = "
UPDATE
 jos_kantinerooster
SET
 datum_kantinedienst = '".mysql_real_escape_string($_POST['datum_kantinedienst'])."'
WHERE
 naam_kantinedienst = '".mysql_real_escape_string($_POST['naam_kantinedienst'])."'
"; 

#7 06-02-2012 18:49
Als beginner is het toch wel raadzaam om de gegeven links door te nemen, want daar wordt letterlijk weergegeven over het hoe, wat en wanneer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
if ($_SERVER['DOCUMENT_ROOT'] == 'POST') {

   if (   isset($_POST['datum_kantinedienst']) && trim($_POST['datum_kantinedienst']) != '' 
       && isset($_POST['naam_kantinedienst']) && trim($_POST['naam_kantinedienst']) != '' 
      ) {

      $sql = "UPDATE jos_kantinerooster
              SET    datum_kantinedienst = '".mysql_real_escape_string($_POST['datum_kantinedienst'])."'
              WHERE  naam_kantinedienst = '".mysql_real_escape_string($_POST['naam_kantinedienst'])."'";

      if (($result = mysql_query($sql)) === false) {
         // fout in query
         // voor debuggen echoen error + sql statement
         echo '<pre>'.mysql_error().'<br />'.$sql.'</pre>';
      } 
      else {
         // yep record is bijgewerkt
         echo '<pre>Record is bijgewerkt</pre>';
      }
   }
   else {
      echo '<pre>Helaas, er ontbreekt informatie om het kantinerooster bij te werken.</pre>';
   }
}
?>
en hier komt de output naar de browser dus:
<html>
   <head>
   </head>
   <body>
      <form>
         <input />
      </form>
   </body>
</html>     


en dan mag je het nu zelf afmaken.

#8 06-02-2012 19:01
  • andrevan
  • Groep: Forumleden
  • Posts: 15
  • Actief sinds: 26-01-2012
Robbert, dank je wel. UDPATE = UPDATE. Wat ik alleen niet snap is hoe krijg ik de invoer mogelijkheid om te wijzigen/zoeken op naam, waarna ik de datum kan wijzigen en dan update laten uitvoeren.
Als onderstaand script gebruik wordt de wijziging gewoon toegevoegd en niet gewijzigd.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//en hier komt de output naar de browser dus:
<html><body>
<form action="" method="post">
<table width='500'>
<tr><th>&nbspHier kunt u de datum van uw kantinedienst wijzigen.</th></tr>
<tr><td>&nbspVul hier uw volledige naam in&nbsp<input type="text" name="naam_kantinedienst" />
<div>&nbspKies hier uw nieuwe datum&nbsp
<select name="datum_kantinedienst" />
<option>01 april zondag 10:00 tot 13:30
<option>01 april zondag 13:30 tot 17:30
<option>01 april zondag 17:30 tot 23:30
<option>02 april maandag 19:15 tot 23:30
<option>03 april dinsdag 19:15 tot 23:30
<option>04 april woensdag 19:15 tot 23:30
<option>05 april donderdag 19:15 tot 23:30
<option>06 april vrijdag 19:15 tot 23:30
<option>07 april zaterdag 10:00 tot 13:30
<option>07 april zaterdag 13:30 tot 17:30
<option>07 april zaterdag 17:30 tot 23:30
</select><br><br>
</td></tr>
</table>
<input value="Opslaan" type="submit" />
</div></form></body></html>

#9 06-02-2012 19:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$sql = "SELECT naam_kantinedienst
            FROM   jos_kantinedienst
            ORDER BY
                       naam_kantinedienst";

$dagen  = 31;

f (($result = mysql_query($sql)) === false) {
   echo '<pre>'.mysql_error().'<br />'.$sql.'</pre>';
}
else {

   echo '<select name="naam_kantinedienst">';
   while ($row = mysql_fetch_assoc($result)) {

        echo '<option value="'.$row['naam_kantinedienst'].'">'.$row['naam_kantinedienst'].'</option>';
   }
   echo '</select>';
}

echo '<select name="datum_kantinedienst">';

for ($dag = 1; $dagen =< 32; $dag++) {
   echo '<option value="'.date('Y-m-d',mktime(0,0,0,date('m'),$dag,date('Y')).'">date('F')</option>';
}

echo '</select>';
?>


maar zoals al eerder gepost, dit kan/kon je ook uit de wiki artikelen halen.

#10 06-02-2012 19:37
  • andrevan
  • Groep: Forumleden
  • Posts: 15
  • Actief sinds: 26-01-2012
Robbert, nu ben ik helemaal de weg kwijt, toch vast bedankt voor je geduld. Ga morgen fris opnieuw hiermee verder.


Inloggen wachtwoord vergeten? Aanmelden