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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Не проходит удаление картики согласно srok_del < NOW() ?
 
 автор: Dinya_1   (22.03.2009 в 20:54)   письмо автору
 
 

В др. обработчике, удаление происходит по id и все работает,
а сдесь удаление происходит согласно srok_del < NOW(), запись удаляется а картинка нет , место хранения не изменено, если просто вывести картинку для проверки - выводится, только почему то не удаляется...


<?
$result1 
mysql_query("SELECT new_name FROM forma WHERE srok_del < NOW()",$db); 
$myrow1 mysql_fetch_array($result1); 
//Если картинка сущ-т удаляем, не существует пропускаем и идем дальше
if (isset($new_name))

unlink("img/".$myrow1['new_name']);  //удалени картики

//удаление инфы - работает!
$result mysql_query("DELETE FROM forma WHERE srok_del < NOW()  ",$db);
if(
$result == 'true')
{
echo 
"<br><b style='color:#009900;'>Инфа-я успешно удалена!</b><br>
<br><a href='index.php'>вернуться на главную</a>"
;
}
else
{
echo 
"Информация не удалена<br><a href=\"javascript:history.back()\">назад</a><br><a href='index.php'>вернуться на главную</a>";
}
?>

  Ответить  
 
 автор: Trianon   (22.03.2009 в 20:58)   письмо автору
 
   для: Dinya_1   (22.03.2009 в 20:54)
 

> if (isset($new_name))

откуда возьмется эта переменная?
И что за условие, собственно, Вы хотите проверить?

  Ответить  
 
 автор: Dinya_1   (22.03.2009 в 21:02)   письмо автору
 
   для: Trianon   (22.03.2009 в 20:58)
 

понял! наверное надо написать так
if (isset($myrow1['new_name']))

не, опять не полуается..

  Ответить  
 
 автор: Trianon   (22.03.2009 в 21:06)   письмо автору
 
   для: Dinya_1   (22.03.2009 в 21:02)
 

Это, конечно, куда более разумно.
Но с другой стороны - в каких ситуациях, Вы полагаете, в строке $myrow1 будет отсутствовать поле new_name?

  Ответить  
 
 автор: Dinya_1   (22.03.2009 в 21:08)   письмо автору
 
   для: Trianon   (22.03.2009 в 21:06)
 

Когда инфа-я есть, а картинки к ней нет (имени картинки), удаляем информацию без картинки

и все равно почему то не получается

  Ответить  
 
 автор: Trianon   (22.03.2009 в 21:21)   письмо автору
 
   для: Dinya_1   (22.03.2009 в 21:08)
 

результат запроса SELECT нужно обрабатывать в цикле.
<?
$result1 
mysql_query("SELECT new_name FROM forma WHERE srok_del < NOW()",$db); 
while(
$myrow1 mysql_fetch_array($result1)) 
//Если картинка сущ-т удаляем, не существует пропускаем и идем дальше
  
if ($myrow1['new_name'] != '')
    
unlink("img/".$myrow1['new_name']);  //удалени картики
 
//удаление инфы - работает!
$result mysql_query("DELETE FROM forma WHERE srok_del < NOW()  ",$db);
if(
$result)
  echo 
"<br><b style='color:#009900;'>Инфа-я успешно удалена!</b><br>
    <br><a href='index.php'>вернуться на главную</a>"
;
else
  echo 
"Информация не удалена<br><a href=\"javascript:history.back()\">назад</a><br>
    <a href='index.php'>вернуться на главную</a>"
;

?>

  Ответить  
 
 автор: Dinya_1   (22.03.2009 в 21:34)   письмо автору
 
   для: Trianon   (22.03.2009 в 21:21)
 

Класно.

  Ответить  
 
 автор: Dinya_1   (22.03.2009 в 21:47)   письмо автору
 
   для: Trianon   (22.03.2009 в 21:21)
 

Trianon, а можно все это "хозяйство" заключить в один блок.
Мол если srok_del < NOW() не существует, остановить и перейти к след блоку
в котором 'srok_del < NOW() INTERVAL 7 DAY ', чтоб не делать несколько обработчиков?

  Ответить  
 
 автор: Trianon   (22.03.2009 в 21:54)   письмо автору
 
   для: Dinya_1   (22.03.2009 в 21:47)
 

заключите.

  Ответить  
 
 автор: а-я   (23.03.2009 в 05:56)   письмо автору
 
   для: Dinya_1   (22.03.2009 в 21:47)
 

srok_del < NOW() INTERVAL 7 DAY - так нельзя
наверно, Вы имели виду
srok_del < NOW() - INTERVAL 7 DAY

но почему Вы думаете, что если
srok_del < NOW() - не будет
а
srok_del < NOW() - INTERVAL 7 DAY - будет?


srok_del < NOW() - без всяких интервалов, удалит все, что старее данного момента.

  Ответить  
Rambler's Top100
вверх

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