0

我从各种教程、示例等中拼凑出下面的脚本......

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

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

但我很难让“更新”和“删除”按钮工作。

有人可以发布代码,它将:

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

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


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

1 回答 1

1

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

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

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

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

于 2010-04-24T07:31:52.497 回答