Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
1

Считывание данных из несколько таблиц одновременно

29.05.2018, 03:28. Показов 1111. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.

У меня в phpMyAdmin существует БД, в которой 2 таблицы.

Мне нужно одновременно считывать и отображать данные из обеих таблиц...

Подключение к ним я сделал, считывать данные и отображать из по отдельности я могу, а вот как считать данные и отобразить их сразу с двух таблиц я хз..

Пытался делать так:
PHP
1
2
3
4
5
while (  ($result_1=mysqli_fetch_array ($connection_to_the_table_1)) && ($result_2=mysqli_fetch_array($connection_to_the_table_2))  )
{
     echo "данные из таблицы 1: $result_1[danie]";
     echo "данные из таблицы 2: $result_2[danie]";
}
Но так не получается...

Может кто знает как считать данные сразу из нескольких таблиц,
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2018, 03:28
Ответы с готовыми решениями:

Можно ли через INSERT вставить данные полей в несколько таблиц одновременно?
Вообщем можно ли с помощью оператора INSERT сразу вставить данные полей в несколько таблиц...

Не добавляет данные в несколько таблиц одной базы данных phpmyadmin
Народ, помогите, не могу разобраться, таблицы связанны по ID <? ini_set('error_reporting',...

QTableWidget как создать несколько таблиц одновременно?
Здравствуйте, мне нужно создать n таблиц как такое реализовать?

Запись значения dbedit в несколько таблиц одновременно
Всем привет. Имеется один dbedit и три таблицы ADOTable. Возможно ли значения из этого edit'a...

8
40 / 41 / 13
Регистрация: 10.08.2016
Сообщений: 310
29.05.2018, 07:54 2
Саир_Крон, Думаю нужно просто написать select запрос, который читаеть из оба таблицы типа
MySQL
1
SELECT * FROM table1 ,table2
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
29.05.2018, 08:06  [ТС] 3
Цитата Сообщение от Dilshod Komilov Посмотреть сообщение
Думаю нужно просто написать select запрос, который читаеть из оба таблицы типа
Я тоже так думал... Но тогда возникает проблема с совподающими данными, такими как id, data-time, и некоторыми другими...
0
40 / 41 / 13
Регистрация: 10.08.2016
Сообщений: 310
29.05.2018, 08:14 4
Цитата Сообщение от Саир_Крон Посмотреть сообщение
Но тогда возникает проблема с совподающими данными, такими как id, data-time, и некоторыми другими...
Напиши в запросе какой столбец тебя нужно. Типа
MySQL
1
SELECT table1.id as table1_id,table2.id as table2_id,table2.data-time FROM table1,table2
Ты можеш не выбрат столбцы которые тебя не нужны
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
29.05.2018, 08:30  [ТС] 5
Я тут в интернете посидел, полазил касательно моей проблемы и понял, что можно сделать типо того:
PHP
1
$vasa_pypkin = mysqli_query ( $connection_to_the_db, "SELECT (t1.id , t1.data-time , t1.danie_1 , t1.danie_2) , (t2.id , t2.data-time , t2.danie_1 , t2.danie_2) FROM 'table1' , 'table2' "
И тогда можно будет использовать данные сразу из 2-х таблиц, примерно вот так:
PHP
1
2
3
4
5
6
7
8
while ( $result=mysqli_fetch_array($vasa_pypkin) )
{
     echo "данные 1 из таблицы 1: $result[t1.danie_1]";
     echo "данные 1 из таблицы 2: $result[t2.danie_1]";
 
     echo "данные 2 из таблицы 1: $result[t1.danie_2]";
     echo "данные 2 из таблицы 2: $result[t2.danie_2]";
}
Остается только проблема в том, что код на подключение и считывание данных из таблицы, нефурычит, как бы я его не пытался переписать...

Добавлено через 6 минут
Цитата Сообщение от Dilshod Komilov Посмотреть сообщение
table1.id as table1_id
То есть...

table1.id имеет имя table1_id
table2.id имеет имя table2_id

Выгружать данные из table1 и table1


В принципе можно попробовать... Только мне сейчас пипец как срочно бежать надо, буду на месте чеса через 2, а может даже завтра... Тогда то и попробую...
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
29.05.2018, 09:47 6
Цитата Сообщение от Саир_Крон Посмотреть сообщение
понял, что можно сделать типо того
Когда у тебя в запросе больше одной таблицы, то необходимо указывать минимум одно условие связи на каждую пару таблиц. Иначе у тебя возникает декартово произведение строк таблиц. Почитай про JOIN

Добавлено через 16 секунд
Цитата Сообщение от Саир_Крон Посмотреть сообщение
понял, что можно сделать типо того
Когда у тебя в запросе больше одной таблицы, то необходимо указывать минимум одно условие связи на каждую пару таблиц. Иначе у тебя возникает декартово произведение строк таблиц. Почитай про JOIN
0
350 / 294 / 71
Регистрация: 15.09.2017
Сообщений: 1,305
29.05.2018, 12:31 7
Саир_Крон, два последовательно идущих цикла не пробовали сделать?
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
30.05.2018, 05:59  [ТС] 8
Написал код, используя в качестве примера, пример кода, предоставленный пользователем Dilshod Komilov

Код получился такого типа:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 
    //Данные для подключения к Серверу и к БД
    $host = "localhost"; //Имя хоста для подключения к БД
    $username = "root"; //Пользователь базы данных
    $pass = ""; //Пароль к базе данных
    $name_db = "test"; //Название БД
 
 
    $name_tablicha_1 = "tets_tablicha_1"; //Название таблицы 1 
    $name_tablicha_2 = "tets_tablicha_2"; //Название таблицы 2 
         
    //---------------------------------------------------------------------------------
    //Подключение к Серверу
    $connection_to_the_server = mysqli_connect ($host, $username, $pass);
 
    //---------------------------------------------------------------------------------
    //Подключение к Базе Данных
    $connection_to_the_db = mysqli_connect ($host, $username, $pass, $name_db);
     
    //--------------------------------------------------------------------------------- 
    //Подключение и считывание последних актуальных данных из Таблиц
    $connection_to_the_table = mysqli_query ( $connection_to_the_db, "SELECT 
 
                                                                            $name_tablicha_1.id as t1_id ,
                                                                            $name_tablicha_1.data_time as t1_data_time ,
                                                                            $name_tablicha_1.danie_1 as t1_danie_1 ,
                                                                            $name_tablicha_1.danie_2 as t1_danie_2 ,
 
                                                                            $name_tablicha_2.id as t2_id ,
                                                                            $name_tablicha_2.data_time as t2_data_time,
                                                                            $name_tablicha_2.danie_1  as t2_danie_1 ,
                                                                            $name_tablicha_2.danie_2  as t2_danie_2 ,
 
                                                                    FROM $name_tablicha_1 , $name_tablicha_2 ORDER BY data_time DESC LIMIT 0,1 ");
 
    //--------------------------------------------------------------------------------- 
    //Визуальное отображение данных
    while ( $result = mysqli_fetch_array ($connection_to_the_table) )
    {
        echo "Данные 1 из таблицы 1: $result[t1_danie_1]";
        echo "Данные 2 из таблицы 1: $result[t1_danie_2]";
        echo "Данные получены на период: $result[t1_data_time]";
 
        echo "<br> <br>";
        echo "Данные 1 из таблицы 2: $result[t2_danie_1]";
        echo "Данные 2 из таблицы 2: $result[t2_danie_2]";
        echo "Данные получены на период: $result[t2_data_time]";
    }
?>
Но видимо я где-то, что-то неправильн написал, так как он не фурычит...
То он ничего не показывает, то ругается на запись:
PHP
1
while ( $result = mysqli_fetch_array ($connection_to_the_table) )
Может кто знает в чем может быть проблема?
______________________________________________________
Цитата Сообщение от Grossmeister Посмотреть сообщение
Почитай про JOIN
Постораюсь разузнать что не будь касательно этого.... Может найду полезные для себя кусочки кода, которые смогут решить мою проблему...

Цитата Сообщение от Phantom-84 Посмотреть сообщение
два последовательно идущих цикла не пробовали сделать
Даже не знаю о чем вы говорите... Но попробую и по этому вопросу, что нибуть разузнать...
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,211
30.05.2018, 06:50 9
Цитата Сообщение от Саир_Крон Посмотреть сообщение
Мне нужно одновременно считывать и отображать данные из обеих таблиц...
JOIN, UNION ALL

в вашем вопросе должны быть исходные таблицы и желаемый результат
это же не форум телепатов
0
30.05.2018, 06:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2018, 06:50
Помогаю со студенческими работами здесь

Удаление данных из нескольких связанных таблиц одновременно
Ситуация такова,работа с БД,добавление палей в три таблицы(один к одному),изменение данных...

Считывание данных с двух таблиц
Ребята снова привет:):) В общем вопросы возникли, помогите плииз)) Готов пивком угостить если с...

Считывание таблиц данных из Excel в MathCAD
Подскажите пожалуйста как считать большой файл 1.xls (780 Мб) из Excel в MathCAD. Требуется просто...

Добавление данных в несколько связанных таблиц и просмотр этих данных на одной форме
Здравствуйте. Задача такая. Заполняю Персону, физическое лицо. таблица Персоны(п_код,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru