|
|
|
|
<script type="text/javascript">
function unCheck(X){
var d=document.forms
for(var i=0;i<d.length;i++){
for(var j=0;j<d[i].elements.length;j++){
if('checkbox'==d[i].elements[j].type)d[i].elements[j].checked=1==X?true:false
}
}
}
</script>
<table class="edit_tab">
<form action="#" method="post">
<?php
$resleft=mysql_query("select * from Platia",$link);
if(mysql_num_rows($resleft)>0){
while (($left = mysql_fetch_array($resleft))>0){
$k=$k+1;
echo "
<tr>
<td>$k</td><td>"; echo "<img src=".
$string = substr($left[img_mini], 8)."
>"; echo"<td>
</td>
<td><input name='id[$left[id]]' value='$left[id]' type=checkbox />
</td>
</tr>";
}}else {echo "O aan iao iiainoae ";}
echo"<input type=\"submit\" value=\"Удалить\" name=\"del\" onclick=\"return confirm ('Удалить?')\">
<input type=\"button\" value=\"Выделить все\" onClick=\"unCheck(1)\">
<input type=\"button\" value=\"Снять выделение\" onClick=\"unCheck(0)\">";
?>
</form>
</table>
<?php
if (isset($_POST['del'])){ $id=intval($_POST['id']);
echo $id;
$result = mysql_query ("DELETE * FROM Platia WHERE id='$id'");
if ($result ) {echo "<p>Удалено!</p>";
//echo"<html><head><meta http-equiv='Refresh' content='0; URL=del_articles.php'></head></html>";
}
else {echo "<p>Ошибка!</p>";}
}
?>
|
| |
|
|
|
|
|
|
|
для: OLi
(17.04.2010 в 14:29)
| | А какая реакция скрипта на удаление? Почему обработчик формы находится после формы? Ведь данные сначала отобразятся, а лишь потом удаляться и на странице будут выведены не удаленные данные?
PS У нас нет таблицы и мы ситуацию не можем воспроизвести - нужно более подробно описать, что происходит при попытке удаления. В блок if (isset($_POST['del'])) скрипт заходит? | |
|
|
|
|
|
|
|
для: cheops
(17.04.2010 в 14:34)
| | Скрипт заходит и пишет Удалено! | |
|
|
|
|
|
|
|
для: OLi
(17.04.2010 в 14:41)
| | Обработчик написал перед формой | |
|
|
|
|
|
|
|
для: OLi
(17.04.2010 в 14:43)
| | Вам не надоедает ставить все эти экранирующие слеши?
echo"<input type=\"submit\" value=\"Удалить\" name=\"del\" onclick=\"return confirm ('Удалить?')\">
<input type=\"button\" value=\"Выделить все\" onClick=\"unCheck(1)\">
<input type=\"button\" value=\"Снять выделение\" onClick=\"unCheck(0)\">";
|
Я как минимум 2 варианта знаю как здесь без \ можно обойтись
и еще разве нужна звездочка:
mysql_query ("DELETE * FROM Platia WHERE id='$id'"
|
Какой смысл она имеет в этом запросе? | |
|
|
|
|
|
|
|
для: OLi
(17.04.2010 в 14:43)
| | Да, действительно, звездочка лишняя. Вообще, чтобы исключить такой класс ошибок нужно ВСЕГДА проверять правильность выполнения SQL-запроса, каким-бы простым он не был. PHP не извещает автоматически об ошибках на стороне MySQL и если их не запрашивать - искать их можно часами. Лучше всегда проверять правильность выполнения запроса - очень много времени экономиться в дальнейшем. | |
|
|
|
|
|
|
|
для: cheops
(18.04.2010 в 14:28)
| | Убрал звездочку - но не помогло! | |
|
|
|
|
|
|
|
для: OLi
(18.04.2010 в 15:35)
| | После запроса - поставьте обработчик ошибки - он что-нибудь выводит?
<?php
$query = "DELETE FROM Platia WHERE id='$id'";
$result = mysql_query ($query);
if(!$result)
{
echo $query."<br>";
echo mysql_error();
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.04.2010 в 15:42)
| | Ничего не выводит, у меня правда через include подключается обработчик | |
|
|
|
|
|
|
|
для: OLi
(18.04.2010 в 16:20)
| | В чем трабл? | |
|
|
|
|
|
|
|
для: OLi
(18.04.2010 в 18:34)
| | У вас срабатывает этот оператор?
<?php
echo "<p>Удалено!</p>";
?>
|
| |
|
|
|