Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
MySQL

Не выполняется запрос

23.04.2018, 13:39. Показов 744. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Такая проблема:
Есть две таблицы countries и city связаны по столбцу id(countries) и id_count(city) связь 1-N.
Необходимо реализовать поиск по названию страны и вывести название страны и города принадлежащие ей.

Написал все вроде бы правильно, но не могу допереть где ошибка, если кто нашел укажите пожалуйста в чем моя ошибка, заранее спасибо!

Код сервера:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
session_start();
                    include("db_connect.php");
                    
                    $result_city = mysql_query("SELECT * FROM city");
                    
                    $search_q = $_POST['find'];
                    $search_q = trim($search_q);
                    $search_q = strip_tags($search_q);
                    $result = mysqli_query("SELECT id, names_c FROM countries WHERE names_c LIKE %$search_q% ");
                    $row=mysqli_fetch_array($result);
                    $id = $row['id'];
                    while ($row = mysqli_fetch_array($result)) 
                    {
                        echo '<center> Страна: '.$row["names_c"].'</center><br> ';
                    }
                        
                    echo '<center>Города: <center><br>';    
                        while($row_city = mysql_fetch_array($result_city)) 
                        {
                                if ($id == $row_city['id_count'])
                                {
                                    echo '<center>'.$row_city['names_cit'].'</center><br> '; 
                                }
                                
                        }
                    echo '<center><a href="4task.php">Назад!</a></center> ';
Код формы:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php session_start(); ?>
<html>
    <head>
        <meta charset="windows-1251">
        <link rel="stylesheet" href="style.css">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <title>2.4</title>
    </head>
    <body>
        <div class="body__main_form">
           <form method='post' action='task4_server.php'>
               <center>
                <input name="find" type="text" size="40">
                <input type="submit" value="Найти">
                </select></center>
            </form>
            <a href="index.html">К началу!</a>
        </div>
    </body>
</html>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2018, 13:39
Ответы с готовыми решениями:

не выполняется запрос в коде, но выполняется в phpliteadmin
всем привет! необходима небольшая помощь, есть бд с таблицей &quot;keys&quot; и одной из колонок в ней - &quot;key&quot;. также есть запрос: SELECT...

Не выполняется запрос
В общем, есть такой запрос: UPDATE `Configs` SET `Value`= '1' WHERE `ID` = '15'; Но почему-то он не выполняется, а возвращает...

не выполняется запрос к бд
Здравствуйте. Не выполняется запрос, ошибок не выдает. Не могу понять в чем проблема. Подскажите пожалуйста. if(isset ($_POST,...

11
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
23.04.2018, 13:43
Torone4, не проще ли в таблице city принадлежность к стране проставить?
Какие-то ошибки текущий код выдаёт?
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 13:47  [ТС]
Нет, ошибок не выдает. На счет принадлежности, я делаю по заданию, так было сказано делать. Вот можете посмотреть на хостинге . Есть 5 стран для поиска: Russia USA Ukraine Canada Germany /
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
23.04.2018, 13:50
Цитата Сообщение от Torone4 Посмотреть сообщение
Нет, ошибок не выдает.
странно, в 9-й строке должен выдать. Структуру таблиц и db_connect.php хотелось бы увидеть.
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 13:53  [ТС]
db_connect.php

PHP
1
2
3
4
5
6
7
8
9
<?php
    $dbhost = 'localhost';
    $dbuser = 'o24647cv_db';
    $dbpass = '********';
    $dbname = 'o24647cv_db';
    mysql_connect($dbhost,$dbuser,$dbpass);
    mysql_select_db($dbname);
    $db = mysql_connect($dbhost,$dbuser,$dbpass);
?>
city screenshot_1
countries screenshot_2
Миниатюры
Не выполняется запрос   Не выполняется запрос  
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
23.04.2018, 14:43
Вы сначала используете mysql, а потом mysqli. В 9-й строке mysqli должен выдать ошибку примерно такого содержания - mysqli_query expects parameter 1 to be mysqli.
Правильнее так:

PHP
1
$result = mysqli_query($db, "SELECT id, names_c FROM countries WHERE names_c = $search ");
Вы ведь ищете однозначное наименование города. Зачем паттерн указывать %$search_q%?

В 6-й и 8-й строках db_connect.php почти дубликаты стоят, 6-ю можно убирать.
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 15:06  [ТС]
Спасибо! Я попробую

Добавлено через 4 минуты
Все равно он ничего не хочет выводить в итоге

Добавлено через 12 минут
Попробывал вывести
PHP
1
$_POST['find']
- спокойной выводит, а
PHP
1
row['names_s']
пустой.
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
23.04.2018, 15:27
Torone4, всё-таки как у Вас связаны таблицы, где наименования стран и наименования городов?
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 15:30  [ТС]
Всего пять стран, у каждой страны есть 10 городов. Вот пример скриншоты
Миниатюры
Не выполняется запрос  
Изображения
 
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 15:31  [ТС]
В id_count в таблице city я записал id страны к которой они принадлежат
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
23.04.2018, 15:39
Цитата Сообщение от Torone4 Посмотреть сообщение
В id_count в таблице city я записал id страны к которой они принадлежат
стало быть Вы можете править названия столбцов? Если да, то просто возьмите название страны и внесите вместо id_count и ищите по этому названию. Если уж совсем не в терпёж изголяться, то назначайте через скрипт
PHP
1
2
3
switch ($id_cont){case '2': $country_name = 'USA';break;
case '3': $country_name = 'Ukraine';break;
и т.д.}
0
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 12
23.04.2018, 16:00  [ТС]
Благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2018, 16:00
Помогаю со студенческими работами здесь

Запрос не выполняется
На сайте должна происходить сортировка, но она не происходит и нет ошибок! $query5 = mysql_query(&quot;SELECT * FROM `question` ORDER BY...

Не выполняется запрос
require 'config.php'; // Подключение к бд $login = &quot;igor&quot;; $sql = &quot;SELECT * FROM partners WHERE login = $login&quot;; $r =...

Не выполняется запрос
Я решил сделать панель, где пользователь может изменить свой логин.Вот форма:&lt;p&gt;Ваш логин: &lt;form method=&quot;post&quot;...

Не выполняется запрос
Ломаю голову, не хочет выводить стихи &lt;?php if (isset($_GET)) $name=$_GET; $sql=&quot;SELECT versi FROM proza WHERE name=&quot;.$name...

Не выполняется запрос к БД
Мой код выводит на экран следующее:Магазин &quot;Буквофил&quot;- Результаты поиска Найдено книг: Мой код: ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru