Новичок
Покинул форум
Сообщений всего: 13
Дата рег-ции: Май 2020
Помог: 0 раз(а)
|
Добрый день!
В общем, изрядно изменил код и таблицы в БД, но, что удивительно, ключевая проблема всё также, не пропала.
Одна из идей кода заключается в том, чтобы при двух условиях происходила запись в базу данных. А именно нужно, чтобы в промежуточную таблицу ip_id_address заносилось кол-во уникальных посетителей (hosts + 1) и выводилось потом на экран, для каждой картинки по отдельности с условием, что это новый пользователь (ip_address).
Есть файл index.php, в котором находится галерея с картинками. С index.php идёт переход в файл page3.php, в котором происходит запись в БД, выборка из Бд и вывод на экран кол-ва уникальных посетителей.
Файл page3.php:
PHP:
скопировать код в буфер обмена
<?PHP // Работа с адресной строкой if (!$id) { die('Хьюстон, у ас проблемы'); } // Кофигурация подключения к СУБД define("DB_SERVER", "localhost"); //define("DB_PORT", "3306"); define("DB_USERNAME", "root"); define("DB_CHARSET", "utf-8"); // Подключение к БД if (!$link) { die('Хьюстон, у ас проблемы'); } // Работаем с данными полученными от пользователя // Проверяем есть ли такой IP в таблице, можно просто повесить уникальный индекс на колонку :) $host = $_SERVER['REMOTE_ADDR']; $result = mysqli_query($link, "SELECT ip_address FROM id_ip_address WHERE ip_address = '" . $host . "'"); $result = mysqli_query($link, "INSERT INTO id_ip_address SET ip_address = '" . $host . "' "); } $user = mysqli_query($link, "SELECT COUNT(ip_address) FROM id_ip_address WHERE ip_address = '" . $host . "' "); // Автоинкремент статистики просмотров $statistic = mysqli_query($link, "SELECT hosts FROM img WHERE id = " . $id); $statistic = mysqli_query($link, "INSERT INTO id_ip_address SET hosts = 1"); } else { $statistic = mysqli_query($link, "UPDATE id_ip_address SET hosts = hosts + 1"); } $count = mysqli_query($link, "SELECT SUM(hosts) FROM id_ip_address"); // Необходимо позаботится о безопасности и сделать обработку ошибок :) echo "<br />"; echo "Просмотров: " . $sum[0]; ?> Я пробую связать два условия в одно (id картинки + ip_address ), например в строку [PHP] $user = mysqli_query($link, "SELECT COUNT(ip_address) FROM id_ip_address WHERE ip_address = '" . $host . "' ");
Пробую,добавить AND id = '$id' в строку:
но ничего не получается.
То есть, если я, например, вручную меняю ip_address в таблице (то есть, их становится 2), то и выводится на экран уникальных посетителей должно 2, а этого не происходит. Выводится, по-прежнему Уникальных посетителей: 1.
Как связать эти два условия?
Есть 3 таблицы в БД: Прикреплено изображение (Нажмите для увеличения)
(Отредактировано автором: 08 Мая, 2020 - 13:57:25)
|