Het wijzigen van een bestaand record hoe doe je dat?
Ik heb een tabel
Tbl_Evenementen met de velden
EvenementID int(11),
Evenement text COMMENT 'Naam van het evenement',
Begin timestamp COMMENT 'Begindatum en tijd',
Eind timestamp COMMENT 'Einddatum en tijd',
Locatie text COMMENT 'Locatie van het evenement',
Max smallint(6) COMMENT 'Maximaal aantal deelnemers',
PRIMARY KEY (`EvenementID`),
Deze tabel is gevuld.
Nu wil ik de gegevens van een record wijzigen.
Mijn gedachten gang is als volgt;
1. Zoek het record wat je wilt wijzigen
2. Presenteer de huidige gegevens d.m.v. een form
3. Geef de gebruiker de gelegenheid om deze gegevens te wijzigen
4. Schrijf deze gegevens in hetzelfde record weg
Het script
<?php
// Configuratiebestand beschikbaar maken zodat we toegang hebben tot onze database
require_once('sources/includes/config.inc.php')
?>
<?php
open_html();
open_head();
load_metatags('','','');
load_frameworks();
load_plugins();
load_stylesheets(array(''));
close_head();
open_body();
?>
<div id="container">
<div id="header">
<h1>MTTV′72 - Mierlose tafeltennis vereniging ′72</h1>
</div>
<?php
include_once('sources/includes/nav.php')
?>
<div id="content">
<div id="leftCol">
<table width="100%" border="1" >
<tr>
<td><h1>Mijn MTTV</h1></td>
<td><h1>Wijzig evenement</h1></td>
</tr>
</table>
<!-- Zoek het evenement -->
<form action="?pid=WijzigenEvenement" method="post">
Wat is het EvenementID van het evenement dat je wilt wijzigen? <input type="text" name="EvenementID" size="10" /> <input name="zoek" type="submit" value="zoek">
</form>
<?php
if ($_POST['zoek']) {
$sql = "SELECT * FROM Tbl_Evenementen WHERE EvenementID='".$_POST['EvenementID']."'";
$qry = mysql_query($sql)or die(mysql_error());
$row = mysql_fetch_array($qry);
?>
<form action="?pid=WijzigenEvenement" method="post">
<table class="fancy">
<thead>
<th> </th>
<th>in database</th>
<th>veranderingen</th>
</thead>
<?php
echo '<tr>';
echo '<td nowrap>Naam evenement:</td>';
echo "<td>".$row['Evenement']."</td>";
echo '<td><input type="text" name="Evenement" size="40" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Begin:</td>';
echo "<td>".$row['Begin']."</td>";
echo '<td><input type="text" name="Begin" size="40" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Eind:</td>';
echo "<td>".$row['Eind']."</td>";
echo '<td><input type="text" name="Eind" size="40" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Locatie:</td>';
echo "<td>".$row['Locatie']."</td>";
echo '<td><input name="Locatie" type="text" size="40" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Maximaal aantal deelnemers:</td>';
echo "<td>".$row['Max']."</td>";
echo '<td><input type="text" name="Max" size="20" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Opmerkingen:</td>';
echo "<td>".$row['Opmerkingen']."</td>";
echo '<td><textarea name="Opmerkingen" cols="40" rows="3"></textarea></td>';
echo '</tr>';
echo '<tr>';
echo '<td nowrap>Krant:</td>';
echo "<td>".$row['Krant']."</td>";
echo '<td><textarea name="Krant" cols="40" rows="3"></textarea></td>';
echo '</tr>';
echo '<tr>';
echo '<td valign="top" nowrap><p></p><input name="wijzigen" type="submit" value="wijzigen"></td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
?>
</table>
</form>
<p>Schrijf de gegevens weg na accoord</p>
<?php
if ($_POST['wijzigen']) {
$sql="UPDATE Tbl_Evenementen SET ";
$sql=$sql."Evenement = ".addslashes(htmlspecialchars($_POST['Evenement'])).",";
$sql=$sql."Begin = ".addslashes(htmlspecialchars($_POST['Begin'])).",";
$sql=$sql."Eind = ".addslashes(htmlspecialchars($_POST['Eind'])).",";
$sql=$sql."Locatie = ".addslashes(htmlspecialchars($_POST['Locatie'])).",";
$sql=$sql."Max = ".addslashes(htmlspecialchars($_POST['Max'])).",";
$sql=$sql."Opmerkingen = ".addslashes(htmlspecialchars($_POST['Opmerkingen'])).",";
$sql=$sql."Krant = ".addslashes(htmlspecialchars($_POST['Krant'])).",";
$sql=substr ( $sql , 0, -1 ).'WHERE Tbl_Evenementen.EvenementID = '.$_POST['EvenementID'].' LIMIT 1';
// Alle ingevulde data wegschrijven naar de database
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
} else {
// ... als alles goed verlopen is
echo '<p>EvenementID: '.$_POST['EvenementID'].' gewijzigd.</p>';
} // if result
} // if wijzigen
} // if zoek
?>
<a href="index.php?pid=MijnMTTV">Terug</a>; </p>
</div><!-- EIND LEFTCOL DIV -->
</div><!-- EIND CONTENT DIV -->
<?php
include_once('sources/includes/footer.php')
?>
</div><!-- EIND CONTAINER DIV -->
<?php
close_body();
close_html();
?>
Nu heb ik twee vragen;
1. Is er een slimmere manier om het formulier -waar ik de gegevens toon- te presenteren?
2. Waarom worden mijn wijzigingen niet opgeslagen?
Toine
1.082 views