Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Удаление помеченных сообщений

Сообщения:  [1-8] 

 
 автор: Trianon   (11.04.2006 в 13:48)   письмо автору
 
   для: АЙКА   (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[]

   
 
 автор: АЙКА   (11.04.2006 в 13:01)   письмо автору
 
   для: 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 в 12:56)   письмо автору
 
   для: 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>&#212;&#224;&#233;&#235;</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."&nbsp;".$LastName."&nbsp;&lt;".$rows['from']."&gt;</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."&nbsp;".$LastName."&nbsp;&lt;".$rows['from']."&gt;</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)   письмо автору
 
   для: АЙКА   (11.04.2006 в 11:43)
 

в foreach (на строке 17 файла c:\www\messages\delmessage.php) указан неподходящий аргумент.
Надо смотреть оба скрипта. И который генерирует таблицу формы с чекбоксаами и который delmessages.php.
Желательно аттачем. Иначе русские буквы в сообщениях и коментариях опять превратятся в кошмар.

   
 
 автор: АЙКА   (11.04.2006 в 11:43)   письмо автору
 
   для: Trianon   (10.04.2006 в 13:58)
 

пишет вот эту ошибку: Warning: Invalid argument supplied for foreach() in c:\www\messages\delmessage.php on line 17

   
 
 автор: Trianon   (10.04.2006 в 13:58)   письмо автору
 
   для: АЙКА   (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);

?>

   
 
 автор: P@Sol   (10.04.2006 в 12:20)   письмо автору
 
   для: АЙКА   (10.04.2006 в 11:36)
 

<?
for ($i=0;$i<pisem;$i++){
if (
$_POST[namecheckbox.$i]) {delete}
}

   
 
 автор: АЙКА   (10.04.2006 в 11:36)   письмо автору
 
 

Допустим у меня несколько сообщений и мне надо удалить только некоторые, я их помечаю(при помощи checkbox) и нажимаю на кнопку "Стереть". то бишь у меня должны стереться только те сообщения, которые я пометила. как мне это сделать? помогите составить скрипт....

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования