2013-04-26 72 views
0

您好我有一个数据表,它将从我的数据库中获取数据,并将它显示在我的表中,但与数据表我创建两个动作链接一个是编辑和另一种是删除 和我创建了一个功能进行删除,现在我想用它在我的删除链接我使用它,但它删除我所有的记录,当我尝试使用它 这里是我的代码试图如何创建一个功能在html链接上使用

  while ($row = mysql_fetch_array($result)) { 
      echo "<tr>"; 
      echo "<td align='center'>$row[name]</td>"; 
      echo "<td align='center'>$row[add1]</td>"; 
      echo "<td align='center'>$row[city]</td>"; 
      echo "<td align='center'>$row[tel]</td>"; 
      echo "<td align='center'>$row[mobile1]</td>"; 
      echo "<td align='center'>$row[contpers1]</td>"; 
      echo "<td><a href=\"cutomer.php?mode=false?code=$row[accode]?mode=false\"><img src='images/edit.png'></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='?delete' onClick=\"return confirm('Confrim Delete?');\"><img src='images/delete.png'></a></td>"; 
      echo "</tr>"; 

      if (isset($_GET["delete"])) { 
       delete($zdb, "accmast", "accode", $row["accode"], "custmain.php"); 
       } 
      } 

这里是我的功能

function delete($mydb, $table, $vouch, $chk, $file){ 
    mysql_select_db($mydb); 


    $qry= mysql_query("DELETE FROM $table WHERE $vouch='$chk'") or die(mysql_error()); 
    header("refresh: 1; $file"); 
} 
+0

您正在滥用/滥用'echo'功能。你知道,你只能使用它一次 – samayo 2013-04-26 16:21:26

+3

@PHPfan - 这是我的新信息,你可以在PHP文档中引用它吗? – Stevie 2013-04-26 16:23:41

+0

我认为PHPfan是说他只有一次使用它,而不是多次。 – 2013-04-26 16:24:50

回答

0

这里的问题是你是问,如果删除设置被替换为{$行[“accode”]}里面de statern,当然,删除所有的记录。

尝试使用,如果外面的,而之前,你还需要你想从一开始的“删除”以删除例如记录的ID瓦尔:

 if (isset($_GET["delete"])) { 
      delete($zdb, "accmast", "accode", $_GET["delete"], "custmain.php"); 
     } 
     while ($row = mysql_fetch_array($result)) { 
      echo "<tr>"; 
      echo "<td align='center'>$row[name]</td>"; 
      echo "<td align='center'>$row[add1]</td>"; 
      echo "<td align='center'>$row[city]</td>"; 
      echo "<td align='center'>$row[tel]</td>"; 
      echo "<td align='center'>$row[mobile1]</td>"; 
      echo "<td align='center'>$row[contpers1]</td>"; 
      echo "<td><a href=\"cutomer.php?mode=false?code=$row[accode]?mode=false\"><img src='images/edit.png'></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='?delete' onClick=\"return confirm('Confrim Delete?');\"><img src='images/delete.png'></a></td>"; 
      echo "</tr>"; 
     } 
+0

但我怎么会得到相关的代码我想删除的记录? ? – user2274075 2013-04-26 18:14:01

+1

删除记录的链接需要使用要删除的记录的ID删除参数。像这样:delete 2013-04-29 10:42:20

+0

是的,它工作正常thnks很多先生 – user2274075 2013-04-30 16:17:46

0

呦你应该回应声明

"DELETE FROM $table WHERE $vouch='$chk'" 

并看看它在WHERE条件中得到什么。如果它删除所有行,问题应该在这里。

而且我不是100%肯定,但$行[accode]应在该字符串

+0

并注释掉'mysql_query',所以它不会这样做,而你调试 – Waygood 2013-04-26 16:27:57

+0

@Waygood我认为这是相当明显,所以我跳过那部分:) – Shooler 2013-04-26 16:31:13

0

在的mysql_query( )

“DELETE FROM $表,其中$作担保= '$ CHK'”

应该

“DELETE FROM $表,其中$作担保='”。 $ CHK。 “'”

+0

不需要。但你也应该做$ table和$ vouch,并建议使用'mysql_real_escape_string()' – Waygood 2013-04-26 16:37:57