du kunne jo også undvære forms og bruge en tabel (som du så godt kan lide, her bruges tabellen rigtigt), med et link, så du sender id action over som GET
model.php (intet ændre iforhold til #1 kun lagt ud i seperat fil)
<?php
/* test data
CREATE TABLE `tbl_users` (
`id` int(11) NOT NULL,
`first_nane` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`last_name` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`user_name` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`address` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`postnummer` varchar(4) COLLATE utf8_danish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
INSERT INTO `tbl_users` (`id`, `first_nane`, `last_name`, `user_name`, `address`, `postnummer`) VALUES
(1, 'palle', 'gulvballe', 'pg', 'klklsfdlshj sirdw', '4000'),
(2, 'anders', 'and', 'aa', 'ljsdlrwke weujrowpu', '0800'),
(3, 'test', 'testensen', 'tt', 'djfslkjrd poweurw', '2500'),
(4, 'ole', 'olesen', 'oo', 'dslkfh werhqw oxzvn', '8000');
ALTER TABLE `tbl_users`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
*/
require_once("connection.php"); // $mysqli
function User_Read_All($conn) {
$sql = "SELECT * FROM tbl_users";
//$rs = mysqli_query($conn, $sql);
$rs = $conn->query($sql);
$ar = array();
//while ($row = mysqli_fetch_assoc($rs) ){
while ($row = $rs->fetch_assoc()) {
$ar[] = $row;
}
return $ar;
}
function User_Read($conn, $id) {
$sql = "SELECT * FROM tbl_users WHERE id = $id";
$rs = $conn->query($sql);
$ar = $rs->fetch_assoc();
return $ar;
}
?>
test.php
<?php
require_once("model.php"); // $mysqli, User_Read_All(), User_Read()
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<style type="text/css">
</style>
<script type="text/javascript">
</script>
</head>
<body>
<table>
<tr>
<td style="text-align:right;" colspan="4"><a href="<?php echo $_SERVER['PHP_SELF'] . '?action=new'; ?>">Ny</a></td>
</tr>
<tr>
<td>fornavn</td>
<td>efternavn</td>
<td>Edit</td>
<td>Slet</td>
</tr>
<?php
$liste = User_Read_All($mysqli);
$str = '';
for ($i = 0, $lng = count($liste); $i < $lng; $i++) {
$str .= "\n" . '<tr>';
$str .= "\n" . '<td>' . $liste[$i]['first_nane'] . '</td>';
$str .= "\n" . '<td>' . $liste[$i]['last_name'] . '</td>';
$str .= "\n" . '<td><a href="' . $_SERVER['PHP_SELF'] . '?action=edit&id=' . $liste[$i]['id'] . '">edit</a></td>';
$str .= "\n" . '<td><a href="' . $_SERVER['PHP_SELF'] . '?action=delete&id=' . $liste[$i]['id'] . '">slet</a></td>';
$str .= "\n" . '</tr>';
}
echo $str;
?>
</table>
<?php
// new og edit kunne godt slåes sammen, og så bare sætte id =0 ved new,
// så kan man også spare action linjen
if (isset($_GET['action'])) {
switch ($_GET['action']) {
case 'delete':
$id = $_GET['id'];
echo "\nslet er ikke lavet ennu<br>";
// $user = User_Delete($mysqli, $id);
break;
case 'new':
$str = '';
$str = '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
$str .= '<input type="hidden" name="action" value="create">';
$str .= 'First name: <input type="text" name="fname" value=""><br>';
$str .= 'Last name: <input type="text" name="lname" value=""><br>';
$str .= 'zip code: <input type="text" name="zip_code" value=""><br>';
$str .= '<input type="submit" value="Submit">';
$str .= '</form>';
echo $str;
break;
case 'edit':
$id = $_GET['id'];
$user = User_Read($mysqli, $id);
print_r($user); // test
$str = '';
$str = '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
$str .= '<input type="hidden" name="action" value="update">';
$str .= '<input type="hidden" name="id" value="' . $id . '">';
$str .= 'First name: <input type="text" name="fname" value="' . $user['first_nane'] . '"><br>';
$str .= 'Last name: <input type="text" name="lname" value="' . $user['last_name'] . '"><br>';
$str .= 'zip code: <input type="text" name="zip_code" value="' . $user['postnummer'] . '"><br>';
$str .= '<input type="submit" value="Submit">';
$str .= '</form>';
echo $str;
break;
}
}
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'update':
echo "\nupdate ikke lavet ennu<br>";
print_r($_POST);
// $user = User_Update($mysqli, $id, $firstname, $lastname, $zip_code);
break;
case 'create':
echo "\ncreate ikke lavet ennu<br>";
print_r($_POST);
// $user = User_Create($mysqli, $firstname, $lastname, $zip_code);
break;
}
}
?>
</body>
</html>