PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (5): « 1 2 3 4 [5]

> Найдено сообщений: 69
Lolya Отправлено: 24 Мая, 2018 - 09:27:33 • Тема: Поиск в базе по IP • Форум: Вопросы новичков

Ответов: 9
Просмотров: 372
Я имею в виду что в самом скрипте сайт не прописана эта функция. Сайт у меня сейчас стоит временно на Опен Сервер, пока его гоняю и дорабатываю.

Вот что там прописано только:
PHP:
скопировать код в буфер обмена
  1. function sql_query($query) {
  2.         global $queries, $query_stat, $querytime;
  3.         $queries++;
  4.         $query_start_time = timer(); // Start time
  5.         $result = mysql_query($query);
  6.         $query_end_time = timer(); // End time
  7.         $query_time = ($query_end_time - $query_start_time);
  8.         $querytime = $querytime + $query_time;
  9.         $query_stat[] = array("seconds" => $query_time, "query" => $query);
  10.         return $result;
  11. }


Как мне поменять или добавить в скрипт для работы mysqli_query, mysqli_fetch_array ?
Lolya Отправлено: 23 Мая, 2018 - 11:19:25 • Тема: Поиск в базе по IP • Форум: Вопросы новичков

Ответов: 9
Просмотров: 372
Vladimir Kheifets пишет:
Извините, не понял для чего это:
$ips = str_replace(".", ".", $ip);
будет тот же результат если написать
$ips = $ip;
Советую Вам заменить неактуальные mysql_query, mysql_fetch_array,
которые исключены начиная с версии PHP7.0.0, на mysqli_query, mysqli_fetch_array


Для точного поиска с точками, хотя если убрать то вроде работает. Не понял
К сожалению mysqli у меня не прописана в скрипте, НЕ работает она, только mysql или sql.
Lolya Отправлено: 22 Мая, 2018 - 12:38:51 • Тема: Поиск в базе по IP • Форум: Вопросы новичков

Ответов: 9
Просмотров: 372
Vladimir Kheifets

Спасибо за ответы, разобрался. Все работает нормально.

код вот этот нужен был:

PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $ips = str_replace(".", ".", $ip);
  3. $r = @mysql_query("SELECT * FROM users WHERE ip='".unesc($ips)."'") or sqlerr(__FILE__, __LINE__);
  4. $user = mysql_fetch_array($r);
  5. if (!$user){
  6. print("<html><head><meta http-equiv=refresh content='0;url=http://bublya'></head></html>");
  7. }else{
  8. print("<html><head><meta http-equiv=refresh content='0;url=$DEFAULTBASEURL'></head>
  9. }
  10.  
Lolya Отправлено: 21 Мая, 2018 - 22:35:44 • Тема: Свести две функции в один запрос • Форум: Вопросы новичков

Ответов: 6
Просмотров: 469
Строитель пишет:
$table_names = array(


Большое спасибо. Работает в таком виде (полный код):
PHP:
скопировать код в буфер обмена
  1. $table = array('categories', 'incategories');
  2. function get_list($table) {
  3.     $result = array();
  4.     $res = sql_query("SELECT id, name, image FROM $table ORDER BY sort ASC");
  5.     while ($row = mysql_fetch_array($res))
  6.                 $ret[] = $row;
  7.         return $ret;
  8. }


Вывод на сранице взял так:
PHP:
скопировать код в буфер обмена
  1. $cats = get_list(categories);
  2. $incats = get_list(incategories);


Скорость *вроде как быстрее стала, но один черт запросов два на страницу как и было. Огорчение

Мне надо вывести картинки с названием и id категории и подкатегории на странице, так что если одну уберу (какую-то), то будет бить ошибку и ругаться на нехватающую функцию.
Проблема...
Lolya Отправлено: 21 Мая, 2018 - 21:12:48 • Тема: Поиск в базе по IP • Форум: Вопросы новичков

Ответов: 9
Просмотров: 372
Vladimir Kheifets пишет:

Добрый вечер!
Конечно важно проверить, в каком формате у Вас хранится ip
Возможно, что не хватает ковычек в фильтре и должно быть:



Хранится так записи в ячейке ip с varchar(15):
Lolya Отправлено: 21 Мая, 2018 - 21:09:34 • Тема: Свести две функции в один запрос • Форум: Вопросы новичков

Ответов: 6
Просмотров: 469
Строитель пишет:
Lolya пишет:
как теперь расписывать функции для запроса?
Если запросы к БД одинаковые (как выше было написано), то ничего больше расписывать не нужно. Всё что надо сделать, это заполнить массив $table_names названиями таблиц, из которых будет выборка, по такому принципу:
PHP:
скопировать код в буфер обмена
  1. // Массив с названиями таблиц
  2. $table_names = ['categories', 'incategories'/*и т.д. через запятую*/];


Вот что пишет когда заменил на выше код:
Цитата:
syntax error, unexpected '[' in


Lolya Отправлено: 21 Мая, 2018 - 20:37:35 • Тема: Поиск в базе по IP • Форум: Вопросы новичков

Ответов: 9
Просмотров: 372
Видел такую возможность на нескольких сайтах, если нет IP в базе сайта, то просто перенаправляет сразу на другой какой-то адресс.

Пытаюсь реализовать под себя и ошибка выходит все время. кто может подсказать в чем проблема? Заранее спасибо. Улыбка

В базе есть таблица users, там есть ячейка ip. Вот запрос что я пытаюсь сделать:
PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $row = get_row_count("users","WHERE ip=".sqlesc($ip));
  3. if (!$row) {
  4. print("<html><head><meta http-equiv=refresh content='20;url=http://bublya'></head></html>");
  5. }


Где ошибка?
Lolya Отправлено: 21 Мая, 2018 - 20:15:19 • Тема: Свести две функции в один запрос • Форум: Вопросы новичков

Ответов: 6
Просмотров: 469
Строитель пишет:
Lolya, у вас ведь по сути меняется только название таблицы, из которой идёт выборка? Тогда можно описать всего одну функцию, добавив в сигнатуру один аргумент - в этот аргумент будет передаваться текущее название таблицы. В результате на выходе вы получите массив значений выборки из нескольких таблиц. Пример:
Спойлер (Отобразить)

(Добавление)
Lolya пишет:
таких еще будет 4 одинаковых
Добавьте остальные названия таблиц в массив с названиями таблиц.


Спасибо. А теперь вопрос дополнительный:

как теперь расписывать функции для запроса? Растерялся
Lolya Отправлено: 19 Мая, 2018 - 12:42:34 • Тема: Свести две функции в один запрос • Форум: Вопросы новичков

Ответов: 6
Просмотров: 469
Возможно свести две функции в один запрос? Выборка у них одинаковая идет, но для разных таблиц.

PHP:
скопировать код в буфер обмена
  1. function genrelist() {
  2.     $ret = array();
  3.     $res = sql_query('SELECT id, name, image FROM categories ORDER BY sort ASC');
  4.     while ($row = mysql_fetch_array($res))
  5.         $ret[] = $row;
  6.     return $ret;
  7. }
  8.  
  9. function incatlist() {
  10.     $rek = array();
  11.     $res = sql_query('SELECT id, name, image FROM incategories ORDER BY sort ASC');
  12.     while ($row = mysql_fetch_array($res))
  13.         $rek[] = $row;
  14.     return $rek;
  15. }


Два запроса сильно напрягают, хотелось бы избавиться от них, тем более что таких еще будет 4 одинаковых но с другим названием функции (вид останется тот-же).

Возможно ли объединение? Растерялся

Страниц (5): « 1 2 3 4 [5]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB