Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/30: Рейтинг темы: голосов - 30, средняя оценка - 4.80
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227

Вывести записи, соответствующие выбранному товару, из бд, не перезагружая страницу

30.08.2016, 18:41. Показов 8041. Ответов 238
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть список, типа
HTML5
1
2
<li><a href="#"> Телефоны </a></li>
<li><a href="#"> Планшеты  </a></li>
и тд
можно ли по клику вывести записи, соответствующие выбранному товару, из бд, не перезагружая страницу
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.08.2016, 18:41
Ответы с готовыми решениями:

Сабмит формы не перезагружая страницу
Нужен самый простой пример сабмита формы не перезагружая страницу на AJAX или jQuery там где попроще главное чтобы все работало и...

Как отправить форму, не перезагружая страницу?
Собственно сабж. Раньше у меня получалось это сделать с помощью XHR. Теперь, как я понял, что-то где-то поменялось, и ничего у меня не...

Можно ли отобразить другой URL не перезагружая страницу?
Фреймовый сайт. В строке URL всегда типа: http://myServer.com/index.html А мне надо отобразить текущую страницу фрейма, отобразить...

238
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:04
Студворк — интернет-сервис помощи студентам
В PhpMyAdmin выполните этот запрос. Будут ошибки?
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 12:11  [ТС]
не понимаю

Добавлено через 4 минуты
вобщем через sql в myadmin все тоже работает

Добавлено через 41 секунду
да оно и так работает если вместо переменной поставить имя поля
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:18
Да там пустая переменная, наверное. Я же показываю, как надо сделать, чтобы точно всё увидеть. А Вы игнорируете, почему-то.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 12:20  [ТС]
извините, пожалуйста, не хотела игнорировать, повторите как сделать
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:23
Вот:
PHP
1
var_dump("SELECT * FROM `products` WHERE `$type` LIKE '%$y%'", $y, $type);
Цитата Сообщение от Larisa111 Посмотреть сообщение
var_dump("SELECT * FROM `products` WHERE `$type` LIKE '%$y%'", $y, $type);
вместо
$result = mysql_query("SELECT * FROM products WHERE $type LIKE '%$y%' ",$link); ?
тоесть
$result =var_dump("SELECT * FROM `products` WHERE `$type` LIKE '%$y%'", $y, $type);?
Да нет. Просто, над строкой, где выполняете запрос, вставьте ту строку. И die лучше добавить. Вот так:
PHP
1
var_dump("SELECT * FROM `products` WHERE `$type` LIKE '%$y%'", $y, $type); die;
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 12:26  [ТС]
SELECT * FROM products WHERE LIKE '%%'string(43) "SELECT * FROM `products` WHERE `` LIKE '%%'" NULL NULL
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:30
Что и требовалось доказать. Видите что формируется?
SQL
1
SELECT * FROM `products` WHERE `` LIKE '%%'
Обе переменные ($type, $y) у Вас либо не объявлены, либо содержат null.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 12:33  [ТС]
да заметила, и да не объявлены вообще

Добавлено через 53 секунды
$y=$_GET["cat"];
а $type = $_GET["type"];
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:33
Цитата Сообщение от Larisa111 Посмотреть сообщение
и да не объявлены вообще
А как Вы тогда планировали из них значения в запрос подставить?
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 12:34  [ТС]
похоже не планировала а просто подставила
как правильно то?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 12:49
Цитата Сообщение от Larisa111 Посмотреть сообщение
похоже не планировала а просто подставила
О как. Но, надеюсь, цель была какая-то? Или просто ради "а что будет"?
Цитата Сообщение от Larisa111 Посмотреть сообщение
как правильно то?
Вот так, примерно:
PHP
1
2
3
4
5
6
7
# Имя поля
$type = 'tematika';
 
# Строка поиска
$y = 'мобильный';
 
$result = mysql_query("SELECT * FROM products WHERE $type LIKE '%$y%'",$link);
Только это для примера. В данном случае никакого толку от того, что имя поля в переменной -- нет. С тем же успехом можно было бы просто в запросе его указать.

Добавлено через 5 минут
Цитата Сообщение от Larisa111 Посмотреть сообщение
$y=$_GET["cat"];
а $type = $_GET["type"];
Вот это я пропустил. Цел была, значит.
У Вас в адресной строке нет этих значений, вот и получаем null.
И второе, самое важное: никогда не подставляйте данные от пользователя напрямую в запрос. В данном случае $y следует протащить под килем через mysql_real_escape_string(), чтобы обезопасить запрос:
PHP
1
$y = mysql_real_escape_string($переменная);
А с $type немного сложнее: нужно проверять, есть ли вообще такая таблица и можно ли по неё искать. А-то злоумышленник туда любую подставит.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 13:02  [ТС]
но так они мне не нужны, надо получать их после клика, и как я поняла из GET,
а насчет "а что будет" - мне нравится (где тут wink?)

Добавлено через 5 минут
там есть чистка запроса она в спец функции я ее убрала пока
вывод в меню из одной таблицы
затем по выбору из href - <a href="index.php?cat='.strtolower($row["brand"]).'&type='.$row["type"].'">'.$row["brand"].'</a>
отлавливается GET - $cat = clear($_GET["cat"]);
$type = clear($_GET["type"])
и формируется запрос - $result = mysql_query("SELECT * FROM products WHERE $type LIKE '%$y%' ",$link);

Добавлено через 1 минуту
и $y=$_GET["cat"];
надеюсь не выглядит как бред?

Добавлено через 6 минут
мне сейчас надо уйти, если не разочаровались во мне и моих знаниях - продолжим позже спасибо вам
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 13:22

Не по теме:

Цитата Сообщение от Larisa111 Посмотреть сообщение
где тут wink?
Вы про smile? Точку с запятой и закрывающую круглую скобку ставите и будет мигающий кругляк.


Цитата Сообщение от Larisa111 Посмотреть сообщение
там есть чистка запроса она в спец функции я ее убрала пока
Это хорошо. Главное, чтобы та функция действительно обезопасила строку.
Цитата Сообщение от Larisa111 Посмотреть сообщение
$y=$_GET["cat"];
надеюсь не выглядит как бред?
Её тоже надо обезопасить. И чтобы не было Notice -- делать так:
PHP
1
2
3
4
5
# Работает в PHP 7
$query = $_GET["cat"] ?? null;
 
# В ранних версиях
$query = isset($_GET["cat"]) ? $_GET["cat"] : null;
Добавлено через 2 минуты
А ещё лучше -- воспользоваться для получения данных из запроса чем-то подобным: функция.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 16:49  [ТС]
вот так выглядит чистка
PHP
1
2
3
4
5
function clear($clear_str) {
    $clear_str = strip_tags($clear_str);
    $clear_str = mysql_real_escape_string($clear_str);
    $clear_str = trim($clear_str);
    return $clear_str;
Добавлено через 3 минуты
а как с этим - "У Вас в адресной строке нет этих значений, вот и получаем null."
объявить переменные как глобал?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 16:57

Не по теме:

Larisa111, код тегом "PHP" на форуме оборачивайте. Удобнее смотреть.


Цитата Сообщение от Larisa111 Посмотреть сообщение
как с этим - "У Вас в адресной строке нет этих значений, вот и получаем null."
объявить переменные как глобал?
Не понял. Зачем global?
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 16:59  [ТС]
так и я не понял, почему null
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 17:06

Не по теме:

Цитата Сообщение от Larisa111 Посмотреть сообщение
так и я не понял
Не понял или не поняла?


Вот почему:
Есть такой адрес:
http://example.com/?key_first=1&key_second=2
Если мы обратимся к ключу "type":
PHP
1
$_GET['type']
то получим NULL и Notice в довесок, так как нет какого ключа в запросе. Есть только key_first и key_second.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 17:14  [ТС]
вы сказали не понял и я сказала не понял(это была шутка... очень смешно...ха-ха)
те я присваивала переменной левую сторону равенства?
а как присвоить правую?

Добавлено через 3 минуты
чтой-то для меня это тёмный лес пока - я вижу значения переменных, они выводятся по echo , всё как надо - и в то же время они null ? разъясните, пожалуйста как такое может быть?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.09.2016, 17:17

Не по теме:

Цитата Сообщение от Larisa111 Посмотреть сообщение
вы сказали не понял и я сказала не понял
Так я же через минуту забываю, о чём написал. :D Надо было процитировать моё сообщение.


Цитата Сообщение от Larisa111 Посмотреть сообщение
те я присваивала переменной левую сторону равенства?
а как присвоить правую?
Вы меня не понимаете. Если в адресе не указан тип, то и в массиве $_GET его быть не может. А когда нет его, мы получаем пустоту (NULL).
Передайте в адресной строке значение type и в скрипте она будет доступна.
0
 Аватар для Larisa111
2 / 2 / 0
Регистрация: 14.12.2012
Сообщений: 227
05.09.2016, 17:23  [ТС]
цитировать ещё не умею
и вообще мне надо серьёзно подумать какой тип и куда ставить-то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.09.2016, 17:23
Помогаю со студенческими работами здесь

Обновление материала каждые 10 секунд не перезагружая страницу
(cms joomla) вставил в материал php скрипт который с api binance выводит курс криптовалюты все нормально курс выводит вот только хотелось...

Как можно записать данные в сессию не перезагружая страницу?
есть форма и кнопка к этой форме. нужно все данные из формы при клике на кнопку записать в сессию, но при этом при клике на кнопку никакого...

По выбранному в ComboBox значению выводить соответствующие данные в DataGridView
необходимо создать сортировку в datagridview по выбору данных из combobox. в combobox выведены цифры. принцип такой: в combobox...

Скопировать первые попавшиеся файлы, соответствующие выбранному расширению
Если в каталоге d:\Temp\MyFont\ не существует файлов-шрифтов, скопируйте любые три из системного каталога c:\Windows\Fonts\. В противном...

По выбранному в ComboBox значению выводить соответствующие данные в DataGridView
Здраствуйте! Есть две связанные таблицы Prihod и Tovars см. 1 картинку. Создаю форму с таблицой Tovars DataGridView, в форме через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
Модель здравоохранения 12. добавление болезней через ресурпул, как аварии
anaschu 22.05.2026
Болезни — это ключевая часть нашей модели. Нам нужно, чтобы работник периодически уходил на больничный, его задание при этом зависало, а после выздоровления работа возобновлялась. Реализуем это двумя. . .
Модель здравоохранения 11. Создаём классы Задание и Работник
anaschu 22.05.2026
В AnyLogic каждая заявка и каждый ресурс — это объект определённого класса. Нам нужно создать два класса: Задание (заявка) и Работник (ресурс). Класс Задание В дереве проекта нажимаем правой. . .
Модель здравоохранения 10. Новая модель, смотрим, как добавлять логические блоки, и что писать внутри
anaschu 22.05.2026
Открываем AnyLogic, создаём новый проект. В дереве проекта появляется класс Main — это главный агент, в котором будет жить вся наша логика. Палитра блоков Слева находится палитра. Нас интересует. . .
модель ЗдравоСохранения 9. Новая модель, разбираемся, как ее создавать
anaschu 22.05.2026
В этой серии постов мы построим модель небольшого рабочего коллектива. Сотрудники получают задания, выполняют их, иногда болеют — и мы хотим посчитать, сколько это стоит компании. Метод. . .
[golang] Linked list
alhaos 22.05.2026
Связный список / Linked list Связный список структура данных позволяющая хранить список значений, в отличии от массива в памяти хранится не сплошным куском, а отдельными частями которые ссылаются. . .
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru