За последние 24 часа нас посетили 16429 программистов и 1678 роботов. Сейчас ищут 906 программистов ...

Обновление значений в базе, через опредленый срок

Тема в разделе "PHP для новичков", создана пользователем Inoi, 29 авг 2008.

  1. Inoi

    Inoi Активный пользователь

    С нами с:
    4 авг 2008
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Волгоград
    Доброго времени суток
    написал скрипт по обновлению значений в базе через 5 дней:
    Код (Text):
    1.  
    2. <?
    3. include("config.php");
    4. $userstable = "ads";
    5. $db = @mysql_connect("$host", "$login_mysql", "$password_mysql");
    6. if (!$db) exit("<p>----</p>");
    7. if (!@mysql_select_db($baza_name,$db)) exit("<p>----</p>");
    8. $query = "SELECT * FROM $userstable";
    9. $res = mysql_query($query) or die(mysql_error());
    10. $number = mysql_num_rows($res);
    11. ?>
    12. <td width="13%" valign="top" >
    13. <?
    14.  
    15. while ($row=mysql_fetch_array($res)) {
    16.  
    17. $id = $row['id'];;
    18.  
    19. $d1 = date(z);
    20. $d2 = $row['dateend'];;
    21.  
    22. $query2 = "UPDATE $userstable SET `pablic`= '0' WHERE `id`= '$id'";
    23. $res2 = mysql_query($query2) or die(mysql_error());
    24.  
    25.  if($d1 == d2) $res2;
    26. else echo "--------";
    27.  
    28.   }
    29.  
    30. ?>
    По идеи работает так:выводится строчка и если значение dateend = сегодняшней дате(всё в днях) тогда выполнется запрос на обновление этой строки, дальше цикл повторяется...
    Но при выполнение скрипт обновляет абсалютно всё...где я ошибся?
     
  2. Anonymous

    Anonymous Guest

    чито это?
     
  3. Inoi

    Inoi Активный пользователь

    С нами с:
    4 авг 2008
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Волгоград
    Ну.. это по идеи если переменая д1 = переменой д2 тогда выолняется переменая рес2...

    а цикл проверяет каждую строчку...
     
  4. Anonymous

    Anonymous Guest

    угу. и чему же равна переменная res2 ?
     
  5. Inoi

    Inoi Активный пользователь

    С нами с:
    4 авг 2008
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Волгоград
    переменая res2 выполняет запрос к мускулу с учотом того что id = $id, а переменная id береца из массива для определной строки(т.е по идеи в массиве 1 значение)
     
  6. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Кусок безсмысленного кода, проще напиши подробно, что тебе надо, а мы предоставим скрипт.
     
  7. Inoi

    Inoi Активный пользователь

    С нами с:
    4 авг 2008
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Волгоград
    мне надо чтобы сравнивались 2 даты, одна из таблицы(колонка dateend) вторая data(z) и если они равны то для это строки выполняется апдейт со сменой значение колонки pablic на 0
     
  8. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
  9. Inoi

    Inoi Активный пользователь

    С нами с:
    4 авг 2008
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Волгоград
    не работает...(
     
  10. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Что именно не работает. Что ты хотел, я то и сделал. Скорее ты в ТЗ что-то напутал. Сейчас изменил, убрал линк, не знаю - поможет ли...
     
  11. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    neverlose
    А зачем подавление ошибок?
     
  12. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    что тебе надо?
     
  13. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    Я знать хочу, зачем ты делал подавление ошибок, но при этом все же есть
    PHP:
    ?
     
  14. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    тут ошибки не было.
     
  15. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    Ты мой вопрос хоть читал? :)

    В общем, не важно. Оно тут просто не нужно. @ можно убрать у всех трех строк. И вообще лучше не подавлять ошибки таким образом. Здесь, кажется, это где-то обсуждалось.
     
  16. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Если убрать, будет двойной вывод ошибок.