hoi,
hier onder een hele eenvoudige manier om er voor te zorgen dat je op een pagina alle velden met waardes uit een database in input velden genereerd om ze vervolgens heel eenvoudig zonder zelf een lange query te schrijven kan updaten en terug naar database kan schrijven
er van uitgaande dat je primaire veld 'id' heet en numeric + unique is
het word in een tabel geschreven en netjes de naam van de velden in de linkse kolom geprint en de waarden in een input veld (text) in de rechtse kolom geschreven.
<form method=POST>
<table>
<?php
if (isset($_REQUEST))
{
foreach($_REQUEST as $key => $value) //haal alle input velden op
{
if ($key!="pma_collation_connection" and $key!="pma_charset" and $key!="pma_lang") //zorg er voor dat alleen de weergegeven velden worden geplaatst in db
{
$update=mysql_query("UPDATE users set ".$key."='".$value."' WHERE id=".$_REQUEST['id']); //de uiteindelijke update query die per veld opnieuw word uitgevoerd
}
}
if ($update) //kijk of de query goed gelukt is en laat dit aan de gebruiker weten
{
echo "<script language='JavaScript'>alert('instellingen opgeslagen!');</script>";
}
else
{
echo "<script language='JavaScript'>alert('er is iets mis gegaan: ".str_replace("'","",mysql_error())."');</script>";
}
}
$query=mysql_query("SELECT * FROM TABLE WHERE id='".$_REQUEST['id']."'"); //haal alle velden uit de database op, via REQUEST word bepaald welk id (dit kan gebeuren via een form dat id naar deze pagina post of via de url ?id=
foreach(mysql_fetch_array($query) as $key => $value) //sla de naam van de velden op als $key en de waarde hier van als $value
{
if (!is_numeric($key)) //zorg er voor dat niet alle velden dubbel worden weergegeven (het nummerieke id van elke waarden word namelijk ook als een key gezien dus veld 1 zal $key=1 en $key=id zijn
{
echo "<tr>
<td>".$key.":</td>
<td><input type='text' name='".$key."' value='".$value."'/></td>
</tr>\n";
}
}
?>
</table>
<input type='submit' value='opslaan!'/> <!--de knop die alle gegevens door stuurt--!>
</form>
ik heb overal comments bij gezet zodat je ook weet wat je hier leest :P
1.366 views