Ik was een beetje aan het oefenen met data toe te voegen in db middels een form door een tutorial. Nu is dat gelukt. Ik kan het toevoegen.
Maar dan zie ik nog oude gegevens. Plus dat als je zinloos op submit blijft drukken die een stukje geschiedenis mee pakt. Ik bedoel hiermee, Hij loopt 1 of 2 submit achter. Als ik nu a invoer dan zie ik nog k van de vorige invoer terwijl als ik in mysql db ga kijken, dan is dat veld wel degelijk geupdate.
Dus ik wil dat de pagina automatisch refreshed zodat de ingevoerde data weer zichtbaar is.
<html>
<head>
<title>Pagina titel</title>
</head>
<body>
<?php
include('requires/connect_db.php');
// Alles uit de database halen
$sql = mysql_query("SELECT site_id, site_name, site_luck FROM site ORDER BY site_id ASC");
// Als query gelukt is
if($sql)
{
// Als er items aanwezig zijn
if(mysql_num_rows($sql) > 0)
{
// Alle items echoen
$rec = mysql_fetch_array($sql)
// Als er op submit is gedrukt
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Updaten (mysql_real_escape_string doet de beveiliging)
$upd = mysql_query("UPDATE site SET site_luck = '".mysql_real_escape_string($_POST['site2'])."'");
// Als de query is gelukt
if($upd)
{
echo 'Er is geüpdate';
}
else // Anders
{
echo 'Er is een fout opgetreden bij de query: <br />';
echo mysql_error();
}
}
else // Anders
{
// Het formulier
echo '<form method="post" action="">';
echo '<input type="text" name="site2" value="'.$rec['site_luck'].'">';
echo '<input type="hidden" name="nr" value="refresh">';
echo '<input type="submit" value="Doe het">';
echo '</form>';
}
// Alle items echoën
foreach($rec as $row)
{
echo '<br />'.$row['site_name'];
echo '<br />'.$row['site_luck'];
}
}
else // Anders
{
echo 'Er zijn geen items aanwezig';
}
}
else // Anders
{
echo 'Er is een fout opgetreden bij de query: <br />';
echo mysql_error();
}
?>
</body>
</html>
Bij het comment staat eigenlijk wel wat er gebeurt begrijp je het niet? vraag het maar :P
Hoe doe ik eerst update en dan tonen. En werkt dat dan ook als ik 2 keer achter elkaar de input verander ?
En hoe moet ik zeggen precies welke veld i.p.v alle records...
Ik kom hier niet uit. :(
De comments van Milo zijn al reeds bekend. Dit is ook geen script wat ik ga gebruiken. Het is puur om door te hebben hoe het e.e.a werkt. Dus als iemand graag wilt uitleggen hoe ik dit moet doen graag.
Ik weet dat ik lastig ben, Maar kan iemand dan ook vertellen de WAAROM het zo moet ? Ander leer ik er geen bal van.
@ SanThe: Als goed is is het nu opgelost ?
Graag uw mening ;)
Gr,
PS:
Het is vrij logisch hoor, je moet namelijk eest iets geupdate hebben voordat je updates kunt laten zien... (Je kunt ook niet gummen voordat je schrijft :P).
En foutafhandeling hoort er gewoon bij, is veel makkelijker om fouten op te sporen.
Zelfde als tabs, zo kun je makkelijker je script overzien...
Zo duidelijk of nog niet, dan moet j het zeggen hoor ;)