我将各种教程,示例等中的脚本拼凑在一起......
现在脚本当前使用“|”保存Id,Name,Url分隔符到文本文件Db,如:
1|John|http://www.john.com|
2|Mark|http://www.mark.com|
3|Fred|http://www.fred.com|
但我正在努力让“更新”和“删除”按钮工作。
有人可以发贴以下代码:
请复制并粘贴以下代码并亲自尝试。 我想保留下面脚本的输出格式。
<?php
$file = "data.txt";
$name = $_POST['name'];
$url = $_POST['url'];
$data = file('data.txt');
$i = 1;
foreach ($data as $line) {
$line = explode('|', $line);
$i++;
}
if (isset($_POST['submits'])) {
$fp = fopen($file, "a+");
fwrite($fp, $i."|".$name."|".$url."|\n");
fclose($fp);
}
?>
<html>
<head>
</head>
<body>
<br>
<form name="form1" action="thispage.php" method="POST">
<input type="text" name="name">
<input type="text" name="url">
<input type="submit" name="submits" value="ADD"><br>
</form>
<form name="form2" action="thispage.php" method="POST">
<?php
$display = file("data.txt");
for ($i=0; $i<=count($display)-1; $i++) {
$lines = explode("|",$display[$i]);
print('<input type="hidden" name="id" value="'.$lines[0].'">
<input type="text" name="name" value="'.$lines[1].'">
<input type="text" name="url" value="'.$lines[2].'">
<input type="submit" name="update" value="UPDATE">
<input type="submit" name="delete" value="DELETE"><br>');
}
?>
</form>
</body>
</html>
答案 0 :(得分:1)
我不只是为你发布代码。 (已经很晚了,如果我这样做,我保证打字错误)
首先,您需要在输出中标记表单字段以标识每一行。你可以通过使用数组来做到这一点。例如,您可以使用name =“url []”代替name =“url []”,而您的$ _POST变量将包含一个数组 - 该键将确定您正在处理的行。
您还需要删除一些内容。这可以是普通链接,也可以是复选框。复选框可能更好,因为它可以让您一次删除多行。摆脱你的“删除”提交按钮。
一旦你有了这些,你可以迭代你的$ _POST变量(和数据库文件)中的每一行,并根据需要编辑或删除。