PHP表格 - 编辑&通过文本文件删除Db

时间:2010-04-24 06:34:58

标签: php forms edit

我将各种教程,示例等中的脚本拼凑在一起......

现在脚本当前使用“|”保存Id,Name,Url分隔符到文本文件Db,如:

1|John|http://www.john.com|
2|Mark|http://www.mark.com|
3|Fred|http://www.fred.com|

但我正在努力让“更新”和“删除”按钮工作。

有人可以发贴以下代码:

  • 让我更新/保存该行的任何更改数据(对于UPDATE按钮)
  • 让我删除该行(对于DELETE按钮)

请复制并粘贴以下代码并亲自尝试。 我想保留下面脚本的输出格式。


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

1 个答案:

答案 0 :(得分:1)

我不只是为你发布代码。 (已经很晚了,如果我这样做,我保证打字错误)

首先,您需要在输出中标记表单字段以标识每一行。你可以通过使用数组来做到这一点。例如,您可以使用name =“url []”代替name =“url []”,而您的$ _POST变量将包含一个数组 - 该键将确定您正在处理的行。

您还需要删除一些内容。这可以是普通链接,也可以是复选框。复选框可能更好,因为它可以让您一次删除多行。摆脱你的“删除”提交按钮。

一旦你有了这些,你可以迭代你的$ _POST变量(和数据库文件)中的每一行,并根据需要编辑或删除。