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

Как вывести данные из трех таблиц

17.10.2013, 19:16. Показов 2524. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я только новичок в php, и мне нужна помощь!
Имеется 3 таблицы:
таблицы: колонка1, колонка2, колонка3

money1: id, username, balance, status
money2: id, username, balance, status
money3: id, username, balance, status

Нужно все вывести в таблицу, чтобы было так:
username, balance1(из таблицы money1), balance2(из таблицы money2), balance3(из таблицы money3)

Тоесть говоря, брать из трех таблиц, username, и выводить в таблицу в первую колонку. А в последующие колонки, выводить значение balance из всех трех колонок.
Пожалуйста помогите, заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2013, 19:16
Ответы с готовыми решениями:

Как можно получить данные с трех таблиц одновременно?
Здравствуйте! Я делаю систему комментариев к посту и каждый комментарий можно обсудить. Мне нужно одновременно оформить запрос для...

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

Как правильно взять данные из трех таблиц командой join?
Имеется код sql под oracle. Как взять данные из трех таблиц "клиенты" (ФИО), "услуги" (цена) и "заказы" (кол-во)? Последний блок...

9
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
17.10.2013, 21:39
почему бы это все не сделать в одной таблице? не вижу смысла разбивать на три
0
 Аватар для habb
25 / 25 / 12
Регистрация: 23.09.2013
Сообщений: 134
17.10.2013, 22:08
Простой пример, без всякий условий.
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$username = 'Тут ник, не знаю по какому критерию у тебя выбирается имя';
$balance1 = mysql_query("SELECT * FROM `money1` WHERE `username`='{$username}'");
$balance2 = mysql_query("SELECT * FROM `money2` WHERE `username`='{$username}'");
$balance3 = mysql_query("SELECT * FROM `money3` WHERE `username`='{$username}'");
$b1 = mysql_fetch_array($balance1);
$b2 = mysql_fetch_array($balance2);
$b3 = mysql_fetch_array($balance3);
 
echo $username . ' ' . $b1['balance'] . ' ' . $b2['balance'] . ' ' . $b3['balance'];
?>
1
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
17.10.2013, 22:14
habb просто гениальнейшее решение...
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 11
18.10.2013, 08:17  [ТС]
Цитата Сообщение от habb Посмотреть сообщение
Простой пример, без всякий условий.
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$username = 'Тут ник, не знаю по какому критерию у тебя выбирается имя';
$balance1 = mysql_query("SELECT * FROM `money1` WHERE `username`='{$username}'");
$balance2 = mysql_query("SELECT * FROM `money2` WHERE `username`='{$username}'");
$balance3 = mysql_query("SELECT * FROM `money3` WHERE `username`='{$username}'");
$b1 = mysql_fetch_array($balance1);
$b2 = mysql_fetch_array($balance2);
$b3 = mysql_fetch_array($balance3);
 
echo $username . ' ' . $b1['balance'] . ' ' . $b2['balance'] . ' ' . $b3['balance'];
?>
Спасибо большое! То что нужно!
0
Заблокирован
18.10.2013, 08:55
Вам нужно

SQL
1
money ( id, username, balance, user_status, money_type);
Но без сомнения имеете право остаться при своем говнокоде.
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 11
18.10.2013, 15:01  [ТС]
Цитата Сообщение от habb Посмотреть сообщение
Простой пример, без всякий условий.
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$username = 'Тут ник, не знаю по какому критерию у тебя выбирается имя';
$balance1 = mysql_query("SELECT * FROM `money1` WHERE `username`='{$username}'");
$balance2 = mysql_query("SELECT * FROM `money2` WHERE `username`='{$username}'");
$balance3 = mysql_query("SELECT * FROM `money3` WHERE `username`='{$username}'");
$b1 = mysql_fetch_array($balance1);
$b2 = mysql_fetch_array($balance2);
$b3 = mysql_fetch_array($balance3);
 
echo $username . ' ' . $b1['balance'] . ' ' . $b2['balance'] . ' ' . $b3['balance'];
?>
Это все таки не то, что нужно. Мне нужно из этого сделать список, всех username которые есть в таблице, тоесть примерно так:
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
<center>
<table border="0" cellpadding="3" cellspacing="10" id="minimalist">
<span class="titleBlock">Список:</span>
<tr>
<td width="30">Ник</td>
<td width="30">Money1</td>
<td width="30">Money2</td>
<td width="30">Money3</td>
</tr>
<?php 
$username = 'name';//Это убрать 
$balance1 = mysql_query("SELECT * FROM `money1`");
$balance2 = mysql_query("SELECT * FROM `money2`");
$balance3 = mysql_query("SELECT * FROM `money3`");
$b1 = mysql_fetch_array($balance1);
$b2 = mysql_fetch_array($balance2);
$b3 = mysql_fetch_array($balance3);
 
echo '<td>'.$username.'</td>'; //это изменить как-то чтобы выдавало весь список
echo '<td>'.$b1['balance'].'</td>';
echo '<td>'.$b2['balance'].'</td>';
echo '<td>'.$b3['balance'].'</td>';
 
mysql_close($connect_to_mysql);
?>
</table>
</center>
0
Заблокирован
18.10.2013, 15:29
Цитата Сообщение от mssmaks Посмотреть сообщение
которые есть в таблице,
У вас их 3. Одну, любую, вот такая функция отрендерит за сек:

PHP
1
2
3
4
5
6
function echotable($result) {
    echo '<table><tr style="font-weight:bold">';
    while($field = $result->fetch_field()) echo '<td>' . $field->name;
    while($row = $result->fetch_row()) echo '<tr><td>' . join('<td>', $row);
    echo '</table>';
}
Применение:

PHP
1
echotable(mysql_query("SELECT * FROM `money1`"));
Вот так, когда оно по человечески. Но у вас есть право.
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 11
18.10.2013, 15:49  [ТС]
Цитата Сообщение от sqlnub Посмотреть сообщение
У вас их 3. Одну, любую, вот такая функция отрендерит за сек:

PHP
1
2
3
4
5
6
function echotable($result) {
    echo '<table><tr style="font-weight:bold">';
    while($field = $result->fetch_field()) echo '<td>' . $field->name;
    while($row = $result->fetch_row()) echo '<tr><td>' . join('<td>', $row);
    echo '</table>';
}
Применение:

PHP
1
echotable(mysql_query("SELECT * FROM `money1`"));
Вот так, когда оно по человечески. Но у вас есть право.
А как это вставить в скрипт который выше? Я такое еще не умею
0
Заблокирован
18.10.2013, 16:11
Как вставить? Скопипастить. Ну ладно, значит копируете - Ctrl+C - код пхп из плашки, открываете свой скрипт (который выше цитировали) нажимаете Ctlr+A, нажимаете Ctrl+V. Вот и вставили.

Да, это все что требуется чтобы показать таблицу с заголовками по данным результата запроса. Другими словами больше ничего не надо.

У меня эта функция как видно из названия служит для контроля за табличными данными в режиме ловли багов.

Добавлено через 12 минут
А, понял, у вас же процедурный устаревший майскл.

Новичек, да? Ну как может новичок, который абсолютно еще ни с одной стоящей строчкой кода не связан в прошлом, пользоваться гнилем, на котором сидят профи, потому что там тысячи строк в которые никакой нормальный человек не полезет менять mysql на mysqli.

Добавлено через 4 минуты
Чтобы работал процитированный объектный код сделайте себе объектный коннект. Это элементарно просто:

http://php.net/manual/en/mysql... ctions.php

там и русский язык есть в списке. впрочем, вам же пхпшный язык нужен, а он не переводится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2013, 16:11
Помогаю со студенческими работами здесь

Как вывести данные из 2х таблиц?
Вот я вывожу id группы. А хотелось бы название, оно в другой таблице(Group) по внешнему ключу group.id == model.IdGroup ...

собрать данные из трёх таблиц
ребятушки помогите пожалуйста, есть три таблицы lep_widget --ID_widget --name_widget --desc_widget --setting_widget ...

Как вывести на страницу данные из таблиц(ы) БД?
Объясните пожалуйста, можно ли вывести данные из таблицы самым простым способом (не прибегая к всяким сложным циклам и т.д.) ? На всех...

Как вывести данные всех таблиц сразу?
У меня есть 6 таблиц которые связаны друг с другом. Как можно вывести сразу все данные из всех таблиц?

Как можно вывести данные из двух таблиц?
Здравствуйте. Подскажите как можно одним запросом вывести данные из двух таблиц при сортировке по дате? Первая таблица:tab_1 id...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru