За последние 24 часа нас посетили 41057 программистов и 1815 роботов. Сейчас ищут 847 программистов ...

как выполнить скрипт много раз

Тема в разделе "PHP для новичков", создана пользователем rozmakc, 6 июл 2014.

  1. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    Здравствуйте, мне нужно выполнить скрипт n-ное количество раз чтобы в базе изменились строки
    вот код
    Код (Text):
    1. $db->Query("SELECT `id` FROM `tabl` WHERE ('".time()."' - 2678400) > `time` ");
    2. $delete = $db->FetchRow();
    3.            
    4. $db->Query("UPDATE tabl SET kolvo = kolvo - 1 WHERE `id` = '$delete' ");
    5. $db->Query("UPDATE tabl SET time = '".time()."' WHERE `id` = '$delete' ");
    6. unset ($delete);
    мне нужно изменить данные в БД, думаю по коду примерно понятно что именно
    так вот как мне всю базу таким образом перелопатить? как выполнить скрипт много раз, или может код как то изменить???
     
  2. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    не понятно что ты хочешь!!!!!
    засунь запрос в цыкал установи условие и сделай 100500 запросов!
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    да, очень странно, человек делает запросы в БД, пр этом не знаком с циклами.
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Тем самым убей базу. Круто.
    rozmakc посмотри как за 1 обращение сделать несколько апдейтов, если это тебе подходит то вперед.
    Цикл будет меньше и базе легче.
     
  5. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    мне нужно было чтобы по прошествии определенного времени в таблице изменялся столбец "kolvo" на -1
    придумал только это....
    только теперь нужно "100500" раз страницу обновить чтобы все UPDATE а это как то тупо....

    вот и спрашиваю как изменить код или как исполнить его "100500" раз
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Код (PHP):
    1. $db->Query("UPDATE tabl SET kolvo = kolvo - 1 WHERE `id` = '$delete' ");
    2. $db->Query("UPDATE tabl SET time = '".time()."' WHERE `id` = '$delete' ");
    можно в один запрос упаковать, это будет типа:
    Код (Text):
    1. "UPDATE `tabl` SET `kolvo`='-1',`time`='". time() ."' WHERE `id`='". $delete ."'"
    в данном случает один запрос луче чем два

    ну и вообще засунь все это в цикл.
     
  7. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    блин вот гон...
    сам себя заморочил...
    решение:
    Код (Text):
    1. $db->Query("UPDATE tabl SET kolvo = kolvo - 1 WHERE ('".time()."' - 2678400) > `time` ");
    2. $db->Query("UPDATE tabl SET time = '".time()."' WHERE ('".time()."' - 2678400) > `time` ");
    просто когда начал делать почему то всю таблицу изменяло на -1 вот я и на морочил лишнего...

    всем спасибо)) и еще вопросик мож подскажет кто:

    в таблице 3 колонки
    все одинаковой кодировки cp1251_general_ci
    если на сайте заполняю форму русским языком то только в 1 приходит верно остальные пустые
    англ.языком все норм


    в чем может быть проблема? уже все перепробовал...
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    P.s: открой глаза еще шире О_О, ты не видишь что люди тебе пишут.
     
  9. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    в смысле???? всё я вижу, с той проблемой я разобрался,
    и вопрос задал другой:
    и кому глаза шире открывать нужно?
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Прочтите каждую буковку по слогам пост пользователя VLK
    и сравните с вашим наворотом:
     
  11. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    спасибо!!
    а для чего "засовывать" в цикл? можете объяснить? не силен в этом пока что(((
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Есть альтернатива)