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.
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.