Volledige versie bekijken : auto update database



tonomagerko
28 July 2011, 12:38
Ik ben een website aan het maken die mij moet helpen met het bijhouden van zaken.
Mijn database(mysql) bestaat momenteel uit 6 velden: id, naam, atr1, atri2, atri3, atri4.
Ik heb de namen wat makkelijker gemaakt.

de atributen zijn zijn bool's(tinyint).

Ik laat een tabel maken met de naam en de atributen op een rij.
C:\Users\Tonomagerko\Desktop\tableExample.PNG

Dit is de code die ik heb die werkt(alleen het weergeven van de tabel):



<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<body>
<?php
//connection to 'mydb'
$con = mysql_connect("localhost","root");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
$result = mysql_query("SELECT * FROM mytbl ORDER BY naam");
$numfields = mysql_num_fields($result);//find number of fields
//start tabel met(naam,atri1,atri2,atri3,atri4)
echo '<table border ="1"><tr><th width="150">naam</th>';
for ($i = 2; $i < $numfields ; $i++) {
$namefield = mysql_field_name($result, $i);
echo '<th width="80">'. $namefield .'</th>';
}
echo "</tr>";
//elke rij overlopen
while($row = mysql_fetch_array($result)) {
echo "<tr>"; //begin rij
echo "<td>" . $row['naam'] . "</td>"; //eerste cel bevat naam
for ($i = 2; $i < $numfields ; $i++)//alle atributen aflopen {
$id = $result['id'];// row id
// kijk hoe cel staat in database
if($row[$namefield = mysql_field_name($result, $i)]==1) $check =' checked="checked" ';
else $check = ""
//cel maken
echo "<td align=\"center\"><input type=\"checkbox\" name=\"".$id . $namefield . "\" id =\"".$id . $namefield . "\" value=1 " . $check . " /></td>";
echo '<form method="post">';
}
echo "</tr>";
}
echo "</table>";//einde tabel
?>
</body>
</html>

Nu wil ik hierbij graag nog hebben dat wanneer ik een checkbox aanklik/afklik het corresponderende veld van de database wordt aangepast.

alvast bedankt voor de antwoorden.

Butterflyice
28 July 2011, 20:28
Na dat je het heb ingevuld moet je een update query uitvoeren op de database in de row die net geupdate is.

tonomagerko
28 July 2011, 22:41
Na dat je het heb ingevuld moet je een update query uitvoeren op de database in de row die net geupdate is.

Ik weet dat ik een update query moet gebruiken. ik weet echter niet hoe ik die moet laten lanceren van zodra dat ik mijn checkbox aan-/af- vink zonder dat ik een 'submit'-knop moet gebruiken.

Butterflyice
29 July 2011, 06:37
dat kan je doen via ajax
http://www.georgetruong.com/2009/06/11/how-to-submit-a-form-with-ajax-in-jquery/