|
|
|
| Допустим у меня несколько сообщений и мне надо удалить только некоторые, я их помечаю(при помощи checkbox) и нажимаю на кнопку "Стереть". то бишь у меня должны стереться только те сообщения, которые я пометила. как мне это сделать? помогите составить скрипт.... | |
|
|
|
|
|
|
|
для: АЙКА
(10.04.2006 в 11:36)
| |
<?
for ($i=0;$i<pisem;$i++){
if ($_POST[namecheckbox.$i]) {delete}
}
|
| |
|
|
|
|
|
|
|
для: АЙКА
(10.04.2006 в 11:36)
| | Построение списка сообщений и формирование чекбоксов можно сделать примерно так:
<?
$result = mysql_query("SELECT * FROM messages ........");
.....
while(($row=mysql_fetch_array($result)) != 0)
{
......
$id = intval($row['id']); // здесь id - первичный ключ в таблице сообщений
.......
echo "<input type=checkbox name=del[] value=id />" ;
.......
}
?>
|
удаление сообщений в скрипте-обработчике может быть выполнено примерно так:
<?
$list = array();
foreach($_POST['del'] as $del_id)
$list[] = intval($del_id); // сделать массив из всех номеров сообщений
$list = ' ('.implode(',', $list).') '; // преобразовать его в список, разделенный запятыми
// строим запрос
$query = "DELETE FROM messages " // удалить из таблицы сообщений строки
. " WHERE (owner= $login) " // которые этот пользователь имеет право удалять
. " AND id IN $list "; // и номера которых входят в список помеченных
$result = mysql_query($query);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(10.04.2006 в 13:58)
| | пишет вот эту ошибку: Warning: Invalid argument supplied for foreach() in c:\www\messages\delmessage.php on line 17 | |
|
|
|
|
|
|
|
для: АЙКА
(11.04.2006 в 11:43)
| | в foreach (на строке 17 файла c:\www\messages\delmessage.php) указан неподходящий аргумент.
Надо смотреть оба скрипта. И который генерирует таблицу формы с чекбоксаами и который delmessages.php.
Желательно аттачем. Иначе русские буквы в сообщениях и коментариях опять превратятся в кошмар. | |
|
|
|
|
|
|
|
для: Trianon
(11.04.2006 в 12:04)
| | это файл usermessage.php
<?php
include("config.php");
if(!isset($_SESSION['Logged']))
{
exit('Страница доступна только для зарегистрированных пользователей');
}
?><BR><BR>
<center><a href="<?=$root_path?>/index.php?show=sendmessage"><?php echo $lang['sendmessage'] ?></a> | <a href="<?=$root_path?>/index.php?show=contactbook"><?php echo $lang['contactbook'] ?></a></center>
<img src="img/spacer.gif" width="440" height="1"><BR><BR>
<?php
$query = "SELECT * FROM usermessages where 'to'='".$_SESSION['Logged']."' order by id desc";
$result = mysql_query($query);
echo "<form action=\"$root_path/index.php?show=deletemessage\" method=\"post\">";
echo "<table rules='rows' width=\"100%\" border=\"0\">";
echo "<tr><td align='left'><b><INPUT TYPE=checkbox NAME=name1 value='ot'></td><td align='center'><b>".$lang['from']."</b></td><td><b>".$lang['messagedate']."</b></td><td><b>".$lang['messagetitle']."</b>
</td><td><b>Ôàéë</b></td>";
while ($rows = mysql_fetch_array($result))
{
$attach =$rows['attach'] ;
if($attach != '')
$attach = "<img src= 'img/skrepka.JPG'>";
else $attach = " ";
$new = $rows['new'];
$from = $rows['from'];
$id = intval($rows['nomer']);
if ($rows['anonym'] == "0")
{
$query2 = "SELECT FirstName, LastName FROM clients where 'CardID'= '$from'";
$result2 = mysql_query($query2);
while ($rows2 = mysql_fetch_array($result2))
{
$FirstName = $rows2['FirstName'];
$LastName = substr($rows2['LastName'],0,1).".";
}
}
else
{
$FirstName = "";
$LastName = "";
}
if($new=='yes')
{
echo "<tr><td align='left'><INPUT TYPE=checkbox NAME=id value=".$rows['nomer']."></td><td>".$FirstName." ".$LastName." <".$rows['from']."></b></td><td><b>".$rows['date']."</b></td><td><b><a href=\"$root_path/index.php?show=viewmessage&id=".$rows['nomer']."\">".$rows['title']."</a></b></td><td>".$attach."</td></tr>";
}
else
{
echo "<tr><td align='left'><INPUT TYPE=checkbox NAME=id value=".$rows['nomer']."></td><td>".$FirstName." ".$LastName." <".$rows['from']."></td><td>".$rows['date']."</td><td><a href=\"$root_path/index.php?show=viewmessage&id=".$rows['nomer']."\">".$rows['title']."</a></td><td align='center'>".$attach."</td></tr>";
}
}
echo "</table>
<input type=\"submit\" value=\"".$lang['deletemessage']."\"></form>";
?>
| > | |
|
|
|
|
|
|
|
для: Trianon
(11.04.2006 в 12:04)
| | это файл delmessage.php
<?php
include("config.php");
if(!isset($_SESSION['Logged']))
{
exit('Cтраница доступна только для зарегистрированных пользователей');
}
$id = GetPostStrValue("id");
if ($id == '')
{
$id = GetGetStrValue("id");
}
?>
<BR><BR><BR>
<?php
$cat = 'c:/www/files/';
$query = "SELECT * FROM usermessages where 'to'='".$_SESSION['Logged']."' AND 'nomer' = '$id'";
$result = mysql_query($query);
while ($rows = mysql_fetch_array($result))
{
$attach = $rows['attach'];
}
$filename = "somefile.txt";
// Если файл существует и в него возможна запись
if ( is_writeable($filename) ) :
// Открыть файл и установить указатель текущей позиции в конец файла
$fh = fopen($filename, "a+");
// Записать содержимое $data в файл
$success = fwrite($fh, $query);
// Закрыть файл
fclose($fh); else :
print "Could not open Sfilename for writing";
endif;
if($attach != '')
unlink($cat.$attach);
$query = "DELETE FROM usermessages WHERE 'nomer'='$id' and 'to'='".$_SESSION['Logged']."'";
if (!@mysql_query ($query)) {
$Message = "Ошибка ввода данных";
}
else {
$Message = "Сообщение удалено.";
}
?>
<?php echo $Message; ?>
|
| |
|
|
|
|
|
|
|
для: АЙКА
(11.04.2006 в 13:01)
| |
<?php
include("config.php");
if(!isset($_SESSION['Logged']))
{
exit('Cтраница доступна только для зарегистрированных пользователей');
}
$id = GetPostStrValue("id");
if ($id == '')
{
$id = GetGetStrValue("id");
}
?>
<BR><BR><BR>
<?
if(isset($_REQUEST['id']) && is_array($_REQUEST['id']))
$list = '('.implode(',', $_REQUEST['id']).')';
else $list = "($id)";
$cat = 'c:/www/files/';
$query = "SELECT attach FROM usermessages where 'to'='".$_SESSION['Logged']."' AND 'nomer' IN $list";
$result = mysql_query($query);
while ($rows = mysql_fetch_array($result))
{
$attach = $rows['attach'];
if($attach != '')
unlink($cat.$attach);
}
$query = "DELETE FROM usermessages WHERE 'nomer' IN $list AND 'to'='".$_SESSION['Logged']."'";
if (!@mysql_query ($query))
$Message = "Ошибка удаленмя сообщений";
else
$Message = "Удалено сообщений: ". mysql_affected_rows();
?>
<?php echo $Message; ?>
|
в первом файле в двух местах
INPUT TYPE=checkbox NAME=id
| надо переделать на
INPUT TYPE=checkbox NAME=id[]
|
| |
|
|
|