powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php и MySQL
65 сообщений из 65, показаны все 3 страниц
php и MySQL
    #37931831
Добрый день, не подскажите, возможно ли привязать, с помощью php, таблицу из mySQL с отдельной страницей, чтобы при поисковом запросе на сайте, если ключевые слова имеются в таблице, выводилась та страница, которая завязана к этой таблице?

Если нет, то каким образом это можно осуществить.

Пример сайта: http://dom.svyaznoy.ru/
...
Рейтинг: 0 / 0
php и MySQL
    #37931845
Минин Игорь,

Еще один пример: http://www.moskvaonline.ru/
...
Рейтинг: 0 / 0
php и MySQL
    #37931935
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьДобрый день, не подскажите, возможно ли привязать, с помощью php, таблицу из mySQL с отдельной страницей, чтобы при поисковом запросе на сайте, если ключевые слова имеются в таблице, выводилась та страница, которая завязана к этой таблице?

Если нет, то каким образом это можно осуществить.

Пример сайта: http://dom.svyaznoy.ru/
непонятно что хотите. пример приведите нормальный а не адреса сайтов.
Вы хотите чтобы при вводе в поисковой строке сайта к примеру слова: "нетбайнет", был поиск по N таблицам, и если к примеру нашлось в таблице с именем providers то открывалась страница ./providers ?
...
Рейтинг: 0 / 0
php и MySQL
    #37931952
РенатМинин ИгорьДобрый день, не подскажите, возможно ли привязать, с помощью php, таблицу из mySQL с отдельной страницей, чтобы при поисковом запросе на сайте, если ключевые слова имеются в таблице, выводилась та страница, которая завязана к этой таблице?

Если нет, то каким образом это можно осуществить.

Пример сайта: http://dom.svyaznoy.ru/
непонятно что хотите. пример приведите нормальный а не адреса сайтов.
Вы хотите чтобы при вводе в поисковой строке сайта к примеру слова: "нетбайнет", был поиск по N таблицам, и если к примеру нашлось в таблице с именем providers то открывалась страница ./providers ?

Да. Меня интересует, как назначить определенной таблице в бд свою страницу, и в дальнейшем, при поисковом запросе, если ключевые слова имеются в какой-либо из таблиц, то выводилась страница или страницы, соответствующие своим таблицам. Прошу прощения за неточность выражения своего вопроса.
...
Рейтинг: 0 / 0
php и MySQL
    #37932094
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьРенатпропущено...

непонятно что хотите. пример приведите нормальный а не адреса сайтов.
Вы хотите чтобы при вводе в поисковой строке сайта к примеру слова: "нетбайнет", был поиск по N таблицам, и если к примеру нашлось в таблице с именем providers то открывалась страница ./providers ?

Да. Меня интересует, как назначить определенной таблице в бд свою страницу, и в дальнейшем, при поисковом запросе, если ключевые слова имеются в какой-либо из таблиц, то выводилась страница или страницы, соответствующие своим таблицам. Прошу прощения за неточность выражения своего вопроса.
ручками делаеться, ручками. Юзаете выборку с like либо fulltext по табличке. Если что то вернулось - значит в табличке что то найдено. Потом в дело вступает роутинг, и перенаправляет на страничку которая завязана к данной записи.
ну либо юзайте готовые инструменты, которые я подсказать не смогу.
либо вобще прикрутите гугл поиск
...
Рейтинг: 0 / 0
php и MySQL
    #37932136
РенатМинин Игорьпропущено...


Да. Меня интересует, как назначить определенной таблице в бд свою страницу, и в дальнейшем, при поисковом запросе, если ключевые слова имеются в какой-либо из таблиц, то выводилась страница или страницы, соответствующие своим таблицам. Прошу прощения за неточность выражения своего вопроса.
ручками делаеться, ручками. Юзаете выборку с like либо fulltext по табличке. Если что то вернулось - значит в табличке что то найдено. Потом в дело вступает роутинг, и перенаправляет на страничку которая завязана к данной записи.
ну либо юзайте готовые инструменты, которые я подсказать не смогу.
либо вобще прикрутите гугл поиск

С самим поиском понятно, тем более информации по этому море в интернете. Сама проблема у меня, как привязать страницу к определенной таблице?
...
Рейтинг: 0 / 0
php и MySQL
    #37932139
Или может, я что-то недопонимаю?
...
Рейтинг: 0 / 0
php и MySQL
    #37932273
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьИли может, я что-то недопонимаю?
Нет... скорее другие недопонимают в чём проблема...
страницы к базам не привязываются никак, и в принципе так думать неверно...
просто создаёте страницу (шаблон), в которую загружаете полученные из базы данные. В зависимости от того, в какой из таблиц нашли информацию, меняете шаблон (ну или просто берёте другой шаблон, если конкретно в Вашем случае).
Если проблема в том, как узнать из какой таблицы были получены данные (что скорее всего и имел ввиду автор), то запрос в базу выглядит
Код: sql
1.
(SELECT colls, 1 as `tab` FROM table WHERE ...) UNION (SELECT colls, 2 as `tab` FROM table WHERE ...)

и тогда tab нам будет показывать из какой таблицы мы получили запись :)
...
Рейтинг: 0 / 0
php и MySQL
    #37932314
ПрограмёрМинин ИгорьИли может, я что-то недопонимаю?
Нет... скорее другие недопонимают в чём проблема...
страницы к базам не привязываются никак, и в принципе так думать неверно...
просто создаёте страницу (шаблон), в которую загружаете полученные из базы данные. В зависимости от того, в какой из таблиц нашли информацию, меняете шаблон (ну или просто берёте другой шаблон, если конкретно в Вашем случае).
Если проблема в том, как узнать из какой таблицы были получены данные (что скорее всего и имел ввиду автор), то запрос в базу выглядит
Код: sql
1.
(SELECT colls, 1 as `tab` FROM table WHERE ...) UNION (SELECT colls, 2 as `tab` FROM table WHERE ...)


и тогда tab нам будет показывать из какой таблицы мы получили запись :)

Получается, чтобы поиск мне выдал нужную страницу при запросе, необходимо чтобы те данные были загружены на этой странице? А если преследуется цель, чтобы найденная таким образом страница, не содержала в "чистом виде" эти запросы. К примеру скажем нужно, чтобы при каком-либо из запросе на выходе выдавал просто картинку или несколько картинок, если ключевые слова были найдены в нескольких таблицах.
...
Рейтинг: 0 / 0
php и MySQL
    #37932372
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь,
Подскажите пожалуйста что Вы хотите сделать. Суть задачи.
P.s. Система за Вас думать не будет. Ей нужно явно (или хотя бы приблизительно) обьяснить что надо сделать. То есть какие данные считать и откуда
...
Рейтинг: 0 / 0
php и MySQL
    #37932437
Програмёр,

Суть такова, у меня стоит задача сделать поисковик по провайдерам. Имеется таблицы с адресами по каждому из провайдеров. Косяк сайта уже написан, благо в HTML/CSS соображаю (хоть что-то :) ). Как я понимаю, эти таблицы нужно загрузить в бд. Так же по каждому из провайдеров есть страничка с информацией. Нужно чтобы при вводе адреса был произведен поиск по всем этим таблицам и вывод страниц с провайдерами, если введенный адрес присутствует в той или иной таблице. Изначально я по глупости предполагал, что можно связать каждую из таблиц с соответственной ею страницей, но как выяснилось тут, мое суждение было не верно. Естественно нужно, чтобы результаты выводились на одной странице. :)
...
Рейтинг: 0 / 0
php и MySQL
    #37932441
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так может начнете с изучения основ? :)
...
Рейтинг: 0 / 0
php и MySQL
    #37932452
Этим уже занимаюсь :) тут вопрос времени :)
...
Рейтинг: 0 / 0
php и MySQL
    #37932453
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёр,

Суть такова, у меня стоит задача сделать поисковик по провайдерам. Имеется таблицы с адресами по каждому из провайдеров. Косяк сайта уже написан, благо в HTML/CSS соображаю (хоть что-то :) ). Как я понимаю, эти таблицы нужно загрузить в бд. Так же по каждому из провайдеров есть страничка с информацией. Нужно чтобы при вводе адреса был произведен поиск по всем этим таблицам и вывод страниц с провайдерами, если введенный адрес присутствует в той или иной таблице. Изначально я по глупости предполагал, что можно связать каждую из таблиц с соответственной ею страницей, но как выяснилось тут, мое суждение было не верно. Естественно нужно, чтобы результаты выводились на одной странице. :)
я чуток не понимаю.
провайдеры, с их адресами, их описанием, с картинкаи - это одна таблица. Что за остальные таблицы то?
...
Рейтинг: 0 / 0
php и MySQL
    #37932468
В базе данных будут находиться только таблицы с адресами, остальное будет просто в HTML.
...
Рейтинг: 0 / 0
php и MySQL
    #37932480
А точнее по каждому из провайдеров есть своя таблица с адресами. Только это предполагается загружать в бд. Остальное просто код HTML.
...
Рейтинг: 0 / 0
php и MySQL
    #37932481
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьВ базе данных будут находиться только таблицы с адресами, остальное будет просто в HTML.
Вот не лень верстать было) А если дизайн поменять потребуется, будете все переверстывать?
...
Рейтинг: 0 / 0
php и MySQL
    #37932486
HettМинин ИгорьВ базе данных будут находиться только таблицы с адресами, остальное будет просто в HTML.
Вот не лень верстать было) А если дизайн поменять потребуется, будете все переверстывать?

Верстка не заняла много времени, тем более как таковых страниц там немного. Тем более поисковая форма в любом случае нужна. =)
...
Рейтинг: 0 / 0
php и MySQL
    #37932561
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёр,

Суть такова, у меня стоит задача сделать поисковик по провайдерам. Имеется таблицы с адресами по каждому из провайдеров. Косяк сайта уже написан, благо в HTML/CSS соображаю (хоть что-то :) ). Как я понимаю, эти таблицы нужно загрузить в бд. Так же по каждому из провайдеров есть страничка с информацией. Нужно чтобы при вводе адреса был произведен поиск по всем этим таблицам и вывод страниц с провайдерами, если введенный адрес присутствует в той или иной таблице. Изначально я по глупости предполагал, что можно связать каждую из таблиц с соответственной ею страницей, но как выяснилось тут, мое суждение было не верно. Естественно нужно, чтобы результаты выводились на одной странице. :)
Вообщем так, моё мнение. Таблица по провайдеру. - Это набор пар свойство/значение. Обычно это так. Тогда всех провайдеров можно поместить в одну таблицу, где одна строка - это один провайдер, а столбики - это свойства. Последний столбик - это сама страничка с инфой или ссылка на неё. А далее всё дело техники. Делаем выборку по нужному свойству провайдера, и инклудим в php файл страницы найденых провайдеров.
P.s. Но в принципе для таких нужд верстают один шаблон, а пгтом туда грузят нужную инфу.

Надеюсь моё описание структуры поможет
...
Рейтинг: 0 / 0
php и MySQL
    #37932605
ПрограмёрМинин ИгорьПрограмёр,

Суть такова, у меня стоит задача сделать поисковик по провайдерам. Имеется таблицы с адресами по каждому из провайдеров. Косяк сайта уже написан, благо в HTML/CSS соображаю (хоть что-то :) ). Как я понимаю, эти таблицы нужно загрузить в бд. Так же по каждому из провайдеров есть страничка с информацией. Нужно чтобы при вводе адреса был произведен поиск по всем этим таблицам и вывод страниц с провайдерами, если введенный адрес присутствует в той или иной таблице. Изначально я по глупости предполагал, что можно связать каждую из таблиц с соответственной ею страницей, но как выяснилось тут, мое суждение было не верно. Естественно нужно, чтобы результаты выводились на одной странице. :)
Вообщем так, моё мнение. Таблица по провайдеру. - Это набор пар свойство/значение. Обычно это так. Тогда всех провайдеров можно поместить в одну таблицу, где одна строка - это один провайдер, а столбики - это свойства. Последний столбик - это сама страничка с инфой или ссылка на неё. А далее всё дело техники. Делаем выборку по нужному свойству провайдера, и инклудим в php файл страницы найденых провайдеров.
P.s. Но в принципе для таких нужд верстают один шаблон, а пгтом туда грузят нужную инфу.

Надеюсь моё описание структуры поможет

Спасибо большое за идею! =) А если оставить провайдеров по разным таблицам, просто к каждой из таблиц добавить строку с ссылкой на соответственную страницу?
...
Рейтинг: 0 / 0
php и MySQL
    #37932607
Минин Игорь,

Просто таблицы большие, и в них имеется 3 столбца: адрес,дом,корпус. И все эти таблицы совмещать каждый раз в одну, будет занимать долгое время, т.к. адреса в процессе работы будут обновляться
...
Рейтинг: 0 / 0
php и MySQL
    #37932619
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёрпропущено...

Вообщем так, моё мнение. Таблица по провайдеру. - Это набор пар свойство/значение. Обычно это так. Тогда всех провайдеров можно поместить в одну таблицу, где одна строка - это один провайдер, а столбики - это свойства. Последний столбик - это сама страничка с инфой или ссылка на неё. А далее всё дело техники. Делаем выборку по нужному свойству провайдера, и инклудим в php файл страницы найденых провайдеров.
P.s. Но в принципе для таких нужд верстают один шаблон, а пгтом туда грузят нужную инфу.

Надеюсь моё описание структуры поможет

Спасибо большое за идею! =) А если оставить провайдеров по разным таблицам, просто к каждой из таблиц добавить строку с ссылкой на соответственную страницу?
наверное так и будет лучше всего ;) или сервисную таблицу делать с двумя полями: таблица провайдера, страница инфы. И по ней выборку нужных страниц делать. Вообщем варианты равносильны. Выбирай какой удобнее ;)
...
Рейтинг: 0 / 0
php и MySQL
    #37932645
Програмёр,

Спасибо большое за помощь. Осталось это сформулировать с технической части, но уже есть путь в каком направлении двигаться. =) А если делать дополнительную таблицу с провайдерами, то получается при поиске он будет брать название таблицы, где найден адрес и потом сопоставлять его с этой дополнительной страницей и уже выдавать конечный результат? =)
...
Рейтинг: 0 / 0
php и MySQL
    #37932646
поправочка:


Минин Игорьдополнительной страницей
т.е. дополнительной таблицей
...
Рейтинг: 0 / 0
php и MySQL
    #37932786
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёр,

Спасибо большое за помощь. Осталось это сформулировать с технической части, но уже есть путь в каком направлении двигаться. =) А если делать дополнительную таблицу с провайдерами, то получается при поиске он будет брать название таблицы, где найден адрес и потом сопоставлять его с этой дополнительной страницей и уже выдавать конечный результат? =)
Да. Или читать строку доп. таблицы, бежать по найденому названию в таблицу провайдера, искать нужные совпадения и если нашёл - выводить соответствующую страницу. Система более универсальная, так как в коде не будет жёсткой привязки к таблицам и при появлении нового провайдера или удалении старого не прийдётся править код
...
Рейтинг: 0 / 0
php и MySQL
    #37932881
ПрограмёрМинин ИгорьПрограмёр,

Спасибо большое за помощь. Осталось это сформулировать с технической части, но уже есть путь в каком направлении двигаться. =) А если делать дополнительную таблицу с провайдерами, то получается при поиске он будет брать название таблицы, где найден адрес и потом сопоставлять его с этой дополнительной страницей и уже выдавать конечный результат? =)
Да. Или читать строку доп. таблицы, бежать по найденому названию в таблицу провайдера, искать нужные совпадения и если нашёл - выводить соответствующую страницу. Система более универсальная, так как в коде не будет жёсткой привязки к таблицам и при появлении нового провайдера или удалении старого не прийдётся править код

Спасибо большое за помощь.

И все это "добро" получается нужно прописать в файл, на который ссылается поисковая форма при запросе? И я так полагаю в эту же штуку можно спокойно, если разобраться, впихнуть сразу же "живой поиск"? :)
...
Рейтинг: 0 / 0
php и MySQL
    #37932912
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёрпропущено...

Да. Или читать строку доп. таблицы, бежать по найденому названию в таблицу провайдера, искать нужные совпадения и если нашёл - выводить соответствующую страницу. Система более универсальная, так как в коде не будет жёсткой привязки к таблицам и при появлении нового провайдера или удалении старого не прийдётся править код

Спасибо большое за помощь.

И все это "добро" получается нужно прописать в файл, на который ссылается поисковая форма при запросе? И я так полагаю в эту же штуку можно спокойно, если разобраться, впихнуть сразу же "живой поиск"? :)

Да, но оптимальный живой поиск использует ajax, так как грузить весь массив данных (особенно если база огромная, как у гугла например) это накладно по ресурсам (в случае с огромными базами это вообще невозможно)

Так что советую сначала оформить простой поиск, что бы работал, а уже потом доучивать и дописывать))
...
Рейтинг: 0 / 0
php и MySQL
    #37932954
Програмёр,

Спасибо, буду пробовать. =)
...
Рейтинг: 0 / 0
php и MySQL
    #37934586
Не сочтите за наглость, но не подскажите еще пару моментов. =))
Если я в таблицу с адресами добавил столбец с ссылкой на страницу в виде (page.php). То как при поиске сделать, чтобы он именно открыл этот файл, а не прописал содержимое ячейки, найдя ключевые слова в данной строке. т.е. не прописывал как результат "page.php", а именно загрузил его?

Надеюсь правильно выразился...

И если таких таблиц много, то нужно делать запрос каждой из них? Нельзя это написать все одним запросом, к н-му количество таблиц?
...
Рейтинг: 0 / 0
php и MySQL
    #37934640
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Минин Игорь, так вам уже говорили, что не надо делать много таблиц.
...
Рейтинг: 0 / 0
php и MySQL
    #37934651
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьНе сочтите за наглость, но не подскажите еще пару моментов. =))
Если я в таблицу с адресами добавил столбец с ссылкой на страницу в виде (page.php). То как при поиске сделать, чтобы он именно открыл этот файл, а не прописал содержимое ячейки, найдя ключевые слова в данной строке. т.е. не прописывал как результат "page.php", а именно загрузил его?

Надеюсь правильно выразился...

И если таких таблиц много, то нужно делать запрос каждой из них? Нельзя это написать все одним запросом, к н-му количество таблиц?
Код: php
1.
2.
$provider = mysql_fetch_array($res);
include($provider['link']);


Код: sql
1.
UNION ALL
...
Рейтинг: 0 / 0
php и MySQL
    #37936462
Доброй ночи, у меня по теме возник еще вопрос, но уже у меня что-то получилось. Сначала код, как это у меня написано, потом вопрос.


Сама форма:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form name="search" action="search.php" method="post">
<div style="width:320px; float:left">
<input style="width:170px; 	margin-right:32px;" placeholder="Введите улицу" type="text" name="query" autofocus="autofocus" required="required" lang="ru" autocomplete="off" id="search11" />
<input style="width:37px; margin-right:23px;" placeholder="Дом" type="text" name="dom" maxlength="5" autocomplete="off" lang="ru" />
<input style="width:30px; margin-right:0px; padding-right:0px;" placeholder="Корп." type="text" name="korp" maxlength="3" autocomplete="off" lang="ru"/>    
</div>
<div style="width:98px; margin-left:320px; padding-top:18px;">
<input style="margin-top:0px;" type="submit" class="subm" value=""/>
</div>
</form>



сам поиск:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$query = "(SELECT dom FROM  `table` WHERE  `adress` LIKE  '%$query%' AND 'dom' LIKE '%$dom%')  UNION ALL (SELECT dom FROM  `table2` WHERE  `adress` LIKE  '%$query%') UNION ALL (SELECT adress FROM  `table2` WHERE  `adress` LIKE  '%$query%') ";
$result = mysql_query($query) or die("Запрос ошибочный");
/* Печать результатов в HTML */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "\t<tr>\n";
for ($i=0;$i<=3;$i++) { print "\t\t<td>$line[$i]</td>\n"; }
print "\t</tr>\n";
}
print "</table>\n";



Суть вопроса такая, поиск по нескольким таблицам и одному запросу проходит отлично, все выдает, что надо, но когда хочу добавить еще одно условие поиска (на примере первого селект) он перестает искать. В чем может быть проблема, что не так я делаю?? И еще один вопрос, в такой схеме у меня перестал выдавать "запрос ошибочный", если ничего не было найдено, вместо этого пустое окно. В чем может быть косяк?

В дальнейшем должен производиться поиск с 3 запросами, но 3-ий запрос необязательный, как это можно учесть при поиске. LIKE ищет по точному совпадению, что будет если один запрос будет пустым, он будет искать или нужно в таком случае задавать этому значению "0" и в таблице в этом столбике ставить по умолчанию NULL?

И последний вопрос, по поводу:
Код: php
1.
2.
$provider = mysql_fetch_array($res);
include($provider['link']);

в каком виде должна быть ссылка в таблице, чтобы он ее так вот открыл? и будет ли такая схема работать, если несколько таблиц, и во всех них было найдено ключевое слово из поиска??
...
Рейтинг: 0 / 0
php и MySQL
    #37936532
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
$result = mysql_query($query) or die(mysql_error());
...
Рейтинг: 0 / 0
php и MySQL
    #37936588
Anjey aka PM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Минин Игорь]WHERE `adress` LIKE '%$query%' AND 'dom' LIKE '%$dom%'[/src]
Читать
...
Рейтинг: 0 / 0
php и MySQL
    #37936699
Hett
Код: php
1.
$result = mysql_query($query) or die(mysql_error());



Все так же, не изменилось
...
Рейтинг: 0 / 0
php и MySQL
    #37936849
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и пишет "Запрос ошибочный"? :)
...
Рейтинг: 0 / 0
php и MySQL
    #37936877
HettТак и пишет "Запрос ошибочный"? :)

ничего не выдает, я понимаю, что в die(mysql_error()) нужно прописывать в, что он должен выдавать в этом случае :)

Еще я заметил, что хоть у меня и стоит LIKE, но он все равно находит совпадения, даже если ввести букву, которая есть в таблице...
...
Рейтинг: 0 / 0
php и MySQL
    #37936902
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторничего не выдает, я понимаю, что в die(mysql_error()) нужно прописывать в, что он должен выдавать в этом случае :)

А вместо того, чтобы строить догадки, прочитать мануал по mysql_error() нельзя?

Еще я заметил, что хоть у меня и стоит LIKE, но он все равно находит совпадения, даже если ввести букву, которая есть в таблице...
...
Рейтинг: 0 / 0
php и MySQL
    #37936905
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нечайно отправил

Код: php
1.
Еще я заметил, что хоть у меня и стоит LIKE, но он все равно находит совпадения, даже если ввести букву, которая есть в таблице...


а не должен?
...
Рейтинг: 0 / 0
php и MySQL
    #37936940
Hettнечайно отправил

Код: php
1.
Еще я заметил, что хоть у меня и стоит LIKE, но он все равно находит совпадения, даже если ввести букву, которая есть в таблице...



а не должен?

Должен, это я ступил, только сейчас понял это... Так что извиняюсь, за глупый вопрос =)
А как сделать точное совпадение, не подскажешь??
...
Рейтинг: 0 / 0
php и MySQL
    #37936989
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
% - означает любое количество символов. Если нужно точное совпадение, убирайте из шаблона %.
...
Рейтинг: 0 / 0
php и MySQL
    #37936996
Hett% - означает любое количество символов. Если нужно точное совпадение, убирайте из шаблона %.

На какой мелочи я пролетел. Спасибо.

Мда, изучать мне это все и изучать.
...
Рейтинг: 0 / 0
php и MySQL
    #37938014
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$query = "
(SELECT url FROM `table` WHERE ((adress LIKE '$adress' AND dom LIKE '$dom') OR (adress LIKE '$adress' AND dom LIKE '$dom' AND korp LIKE '$korp' )) LIMIT 1)
UNION ALL 
(SELECT url FROM `table` WHERE ((adress LIKE '$adress' AND dom LIKE '$dom') OR (adress LIKE '$adress' AND dom LIKE '$dom' AND korp LIKE '$korp' )) LIMIT 1)
";
$result = mysql_query($query) or die(mysql_error());
/* Печать результатов в HTML */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "\t<tr>\n";
for ($i=0;$i<=3;$i++) { print "\t\t<td>$line[$i]</td>\n"; }
print "\t</tr>\n";
}
print "</table>\n";



Народ, у меня остался последний нерешенный вопрос, остальное благо вышло как надо... код прилагается. В общем у меня в таблицах 4 столбца (adress,dom,korp,url), в последнем храниться название php файла, который надо включить. в виде (page.php)...

Когда пытался использовать команду, что мне написал Ренат:

Код: sql
1.
2.
$provider = mysql_fetch_array($result);
include($provider['link']);



у меня вообще переставал искать.
В чем может быть проблема?? Как мне включить эту страницу на сайт, а не просто прописать ее название как текст? Буду очень признателен, осталось эту задачу решить и поиск будет полностью готов!
...
Рейтинг: 0 / 0
php и MySQL
    #37938127
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитать документацию по include
Поглядеть что в переменной $provider['link']
...
Рейтинг: 0 / 0
php и MySQL
    #37938129
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Включить отображение ошибок
...
Рейтинг: 0 / 0
php и MySQL
    #37938187
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$query = "
(SELECT url FROM `table` WHERE ((adress LIKE '$adress' AND dom LIKE '$dom') OR (adress LIKE '$adress' AND dom LIKE '$dom' AND korp LIKE '$korp' )) LIMIT 1)
UNION ALL 
(SELECT url FROM `table` WHERE ((adress LIKE '$adress' AND dom LIKE '$dom') OR (adress LIKE '$adress' AND dom LIKE '$dom' AND korp LIKE '$korp' )) LIMIT 1)
";
$result = mysql_query($query) or die(mysql_error());
/* Печать результатов в HTML */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "\t<tr>\n";
for ($i=0;$i<=3;$i++) { print "\t\t<td>$line[$i]</td>\n"; }
print "\t</tr>\n";
}
print "</table>\n";



Народ, у меня остался последний нерешенный вопрос, остальное благо вышло как надо... код прилагается. В общем у меня в таблицах 4 столбца (adress,dom,korp,url), в последнем храниться название php файла, который надо включить. в виде (page.php)...

Когда пытался использовать команду, что мне написал Ренат:

Код: sql
1.
2.
$provider = mysql_fetch_array($result);
include($provider['link']);



у меня вообще переставал искать.
В чем может быть проблема?? Как мне включить эту страницу на сайт, а не просто прописать ее название как текст? Буду очень признателен, осталось эту задачу решить и поиск будет полностью готов!

хм... сразу по оптимизации:
Код: plsql
1.
(adress LIKE '$adress' AND dom LIKE '$dom') OR (adress LIKE '$adress' AND dom LIKE '$dom' AND korp LIKE '$korp' )


если второе условие вернёт true, то и первое вернёт true. то есть, нету такого варианта, когда второе вернёт истину, а первое ложь, а поэтому оставляем только первую проверку (вторая лишняя):
Код: plsql
1.
adress LIKE '$adress' AND dom LIKE '$dom'


а теперь по основному вопросу... не работает потому, что $provider = mysql_fetch_array($result); запишет в переменную массив, соответствующий одной строке выборки. из таблицы мы выбираем только столбик url, а значит и массив будет содержать только один ключ $provider['url'], а $provider['link'] останется неидентифицированным. то есть инклуд надо писать так:
Код: php
1.
include($provider['url']);



p.s. Очень советую почитать литературу по основам взаимодействия пхп и sql (их, основы, можно изучить за несколько дней не напряжённого чтения).
...
Рейтинг: 0 / 0
php и MySQL
    #37938254
Програмёр
Код: php
1.
include($provider['url']);



Так и прописывал. Не выдавал :(


Програмёресли второе условие вернёт true, то и первое вернёт true. то есть, нету такого варианта, когда второе вернёт истину, а первое ложь, а поэтому оставляем только первую проверку (вторая лишняя)

У меня в поиске 3 запроса (последний - не обязательный для ввода). Как мне тогда учесть, если ввели еще третье условие '$korp' ?

Програмёрp.s. Очень советую почитать литературу по основам взаимодействия пхп и sql (их, основы, можно изучить за несколько дней не напряжённого чтения). Сам хочу этим заняться, когда поиск разгребу, понимаю что много тут не знаю еще.
...
Рейтинг: 0 / 0
php и MySQL
    #37938274
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёр
Код: php
1.
include($provider['url']);



Так и прописывал. Не выдавал :(


Програмёресли второе условие вернёт true, то и первое вернёт true. то есть, нету такого варианта, когда второе вернёт истину, а первое ложь, а поэтому оставляем только первую проверку (вторая лишняя)

У меня в поиске 3 запроса (последний - не обязательный для ввода). Как мне тогда учесть, если ввели еще третье условие '$korp' ?

Програмёрp.s. Очень советую почитать литературу по основам взаимодействия пхп и sql (их, основы, можно изучить за несколько дней не напряжённого чтения). Сам хочу этим заняться, когда поиск разгребу, понимаю что много тут не знаю еще.

1. на сервере путь файла обычно: /home/user/domen/www/относительный путь. Могу предположить, что в базу записывается именно относительный путь к файлу, который благополучно не находится (пхп файл просто не видит) если написать echo $provider['url'] что выдаст?

2. запрос в пхп будет выглядеть так:
Код: php
1.
2.
3.
4.
5.
$query = "
(SELECT url FROM `table` WHERE (adress LIKE '$adress' AND dom LIKE '$dom'".($korp!="" ? " AND korp LIKE '$korp'" : "")." ) LIMIT 1)
UNION ALL 
(SELECT url FROM `table` WHERE (adress LIKE '$adress' AND dom LIKE '$dom'".($korp!="" ? " AND korp LIKE '$korp'" : "")." ) LIMIT 1)
";
...
Рейтинг: 0 / 0
php и MySQL
    #37938329
Програмёр1. на сервере путь файла обычно: /home/user/domen/www/относительный путь. Могу предположить, что в базу записывается именно относительный путь к файлу, который благополучно не находится (пхп файл просто не видит) если написать echo $provider['url'] что выдаст?

Нет, все нормально, все заработало. Магия какая то, одно и тоже вводишь, и тут те раз все загрузилось :)

А если таких url-ов будет несколько, то нужно в цикл писать, чтобы он каждый так включил?

Спасибо большое за помощь, очень помог...

И да, нужно много читать, очень много
...
Рейтинг: 0 / 0
php и MySQL
    #37938343
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь,

что значит "таких url-ов будет несколько"? Несколько в одной строке таблицы (то есть у каждого провайдера по 2-3 урла), или несколько в выборке (то есть найдёт несколько провайдеров)?
...
Рейтинг: 0 / 0
php и MySQL
    #37938354
Програмёрчто значит "таких url-ов будет несколько"? Несколько в одной строке таблицы (то есть у каждого провайдера по 2-3 урла), или несколько в выборке (то есть найдёт несколько провайдеров)?

Я имею ввиду, если запрос будет найден в нескольких таблицах, следовательно url будет тоже несколько.
...
Рейтинг: 0 / 0
php и MySQL
    #37938497
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьПрограмёрчто значит "таких url-ов будет несколько"? Несколько в одной строке таблицы (то есть у каждого провайдера по 2-3 урла), или несколько в выборке (то есть найдёт несколько провайдеров)?

Я имею ввиду, если запрос будет найден в нескольких таблицах, следовательно url будет тоже несколько.
Код: php
1.
while ($line = mysql_fetch_array($result, MYSQL_NUM))



а разве это не призвано вывести все найденные строки (в нашем случае url'ы)?
...
Рейтинг: 0 / 0
php и MySQL
    #37938558
ПрограмёрМинин Игорьпропущено...


Я имею ввиду, если запрос будет найден в нескольких таблицах, следовательно url будет тоже несколько.
Код: php
1.
while ($line = mysql_fetch_array($result, MYSQL_NUM))




а разве это не призвано вывести все найденные строки (в нашем случае url'ы)?

В этом случае он будет найденное прописывать текстом, а не включать инклудом, по-моему. :) Мои предположения сводятся к тому, чтобы эту запись:
Код: sql
1.
2.
3.
4.
5.
6.
7.
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "\t<tr>\n";
for ($i=0;$i<=3;$i++) { print "\t\t<td>$line[$i]</td>\n"; }
print "\t</tr>\n";
}
print "</table>\n";


Изменить под include. Так может сработать?
...
Рейтинг: 0 / 0
php и MySQL
    #37938603
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
print "<table>\n";
while ($line = mysql_fetch_array($result)) {
print "\t<tr>\n";
print "\t\t<td>";
include($line['url']);
print "</td>\n";
print "\t</tr>\n";
}
print "</table>\n";


может конечно я что то у вас не так понял...
...
Рейтинг: 0 / 0
php и MySQL
    #37938722
Anjey aka PM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И никто SQL-Injection не увидел и мой отсыл в ЧаВо ТС конечно-же проигнорировал....
...
Рейтинг: 0 / 0
php и MySQL
    #37938758
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anjey aka PMИ никто SQL-Injection не увидел и мой отсыл в ЧаВо ТС конечно-же проигнорировал....
)) я не думаю, что автор сейчас об этом думает... ему бы сам процесс запустить
...
Рейтинг: 0 / 0
php и MySQL
    #37938760
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anjey aka PMИ никто SQL-Injection не увидел и мой отсыл в ЧаВо ТС конечно-же проигнорировал....
да увидели)
...
Рейтинг: 0 / 0
php и MySQL
    #37938867
Anjey aka PMИ никто SQL-Injection не увидел и мой отсыл в ЧаВо ТС конечно-же проигнорировал....


Програмёр)) я не думаю, что автор сейчас об этом думает... ему бы сам процесс запустить

Верно, я читал, что Вы скидывали... Мне сейчас надо было хотя бы запустить весь процесс, и уже потом допиливать. ))
У меня он хоть сейчас ищет, это уже радует :)


РенатМинин Игорь,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
print "<table>\n";
while ($line = mysql_fetch_array($result)) {
print "\t<tr>\n";
print "\t\t<td>";
include($line['url']);
print "</td>\n";
print "\t</tr>\n";
}
print "</table>\n";



может конечно я что то у вас не так понял...

Спасибо, попробую.
...
Рейтинг: 0 / 0
php и MySQL
    #37938882
Спасибо большое всем за помощь!
Буду разбираться дальше =)




P.S. Это единственный форум, где мне дали действительно дельные ответы
...
Рейтинг: 0 / 0
php и MySQL
    #37939224
Anjey aka PM,

По поводу SQL-lnjection. Мне нужно запрос обработать в таком виде?

Код: sql
1.
2.
$query = mysqli_prepare($link, "SELECT * FROM `table` WHERE (adress LIKE '$adress' AND dom LIKE '$dom'".($korp!="" ? " AND korp LIKE '$korp'" : "").")");
$result = mysql_query($query) or die(mysql_error());
...
Рейтинг: 0 / 0
php и MySQL
    #37939239
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
либо с помощью mysql_real_escape_string либо передавать параметрами
...
Рейтинг: 0 / 0
php и MySQL
    #37939246
Hettлибо с помощью mysql_real_escape_string либо передавать параметрами

Код: sql
1.
2.
3.
4.
5.
mysql_query("INSERT INTO some_table (some_filed) VALUES ('" . mysql_real_escape_string($some_value) . "')");
---
mysql_query("SELECT some_field FROM some_table WHERE some_other_field='" . mysql_escape_string($some_value) . "'");
Как можно заметить, уязвимость к SQL-injection здесь отсутствует.
Однако такой подход не является удобным в применении а также содержит и другие недостатки. К примеру с его помощью невозможно использовать преимущества предварительно подготовленных запросов при пакетной вставке большого объема данных.



Я так полагаю Вы про этот метод говорите?

А вот так можно делать?

Код: sql
1.
2.
3.
4.
5.
$query = strip_tags($query);  
$query = mysql_real_escape_string($query);
$query = "
(SELECT url FROM `table` WHERE (adress LIKE '$adress' AND dom LIKE '$dom'".($korp!="" ? " AND korp LIKE '$korp'" : "")." ) LIMIT 1)";
$result = mysql_query($query) or die(mysql_error());
...
Рейтинг: 0 / 0
php и MySQL
    #37939256
Anjey aka PM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь,

Можно, но ссылочку вы, все-таки почитайте там на 2-й странице я давал.
...
Рейтинг: 0 / 0
php и MySQL
    #37939658
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьHettлибо с помощью mysql_real_escape_string либо передавать параметрами

Я так полагаю Вы про этот метод говорите?

А вот так можно делать?

Код: sql
1.
2.
3.
4.
5.
$query = strip_tags($query);  
$query = mysql_real_escape_string($query);
$query = "
(SELECT url FROM `table` WHERE (adress LIKE '$adress' AND dom LIKE '$dom'".($korp!="" ? " AND korp LIKE '$korp'" : "")." ) LIMIT 1)";
$result = mysql_query($query) or die(mysql_error());


Какая разница что вы будиите делать с переменой если потом ее переопределяете?
...
Рейтинг: 0 / 0
php и MySQL
    #37939730
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если даже поменять строчки местами, то все равно не правильно. Найдите документацию по функции и поглядите там примеры, чего вы как студент на экзамене.
...
Рейтинг: 0 / 0
65 сообщений из 65, показаны все 3 страниц
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php и MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]