Помогите с простым кодом

Тема в разделе "Как сделать...", создана пользователем Obormot, 16 сен 2014.

  1. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Прошу помочь!

    Скрипт который будет накручивать просмотры - нужно чтоб при каждом "дергании" скрипта - например из крона или вручную, он подключался к базе и добавлял в определенную таблицу +1 (цифру).

    В таблице соответственно записано кол-во просмотров.

    Добавлять views надо ко всем постам - на скрине горизонтальный строчки - посты.
     

    Вложения:

    • nulled.png
      nulled.png
      Размер файла:
      12,8 КБ
      Просмотров:
      32
    Последнее редактирование: 16 сен 2014
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    196
    mysql_query("UPDATE `table` set `views` = `views` + 1 where `id` = {$_GET['id']}");
     
    Obormot нравится это.
  3. xUseR

    xUseR Писатель

    Регистр.:
    26 июн 2011
    Сообщения:
    0
    Симпатии:
    1
    лучше использовать mysqli

    <?php
    1. $mysqli = mysqli_connect('host', 'my_user', 'my_password', 'database');
    2. $stmt = $mysqli->prepare("UPDATE `table` SET `table`.`views` = `table`.`views` + 1 WHERE id = ?");
    3. $stmt->bind_param("i", intval($_REQUEST["id"]));
    4. $stmt->execute();
    5. echo("%d строк затронуто.\n", $stmt->affected_rows);
    6. $stmt->close();
    7. $mysqli->close();
    ?>
    что тут было?

    1. подключаемся к mysqli ( тот же mysql просто другой драйвер, лучше и обновленный )
    2. подготавливаем запрос к базе
    3. меняем вопросительные знаки на значение..
    Там в данном случае 2 переменные. 1. это строка которая обьяснит системе какой тип данных будет передан. например: число, слово, т.д. их 4 типа.
    следующие это переменные.
    4. выполняем запрос.
    5. смотрим что было сделанно
    6. закрываем запрос
    7. закрываем подключение с бд.
     
    Obormot нравится это.
  4. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    xUseR, благодарю за развернутый ответ!
    Подскажите возможно ли каждый раз прибавлять не 1, а рандомное число от 1 до 20 или что-то похожее?
     
  5. ev-goo

    ev-goo Создатель

    Регистр.:
    28 май 2012
    Сообщения:
    10
    Симпатии:
    9
    Примерно так можно
    2. $stmt = $mysqli->prepare("UPDATE `table` SET `table`.`views` = `table`.`views` + floor(4 + rand() * (20)) WHERE id = ?");