Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключение нескольких таблиц 
:(
    Опции темы
xpamoi
Дата 4.11.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Добрых суток!

Уперся в такую задачку! есть база с парой таблиц "users" с полями "login, fio" и "group" с полями "group, id"

вот я подключаюсь к таблице "users"

Код

<?php
include('db.php');
$t = new Db();
$t->connect();
$t->query('select * from `user`');
?>


и вытаскиваю данные FIO с этой таблицы

Код

<?php
foreach($a as $stud) {
echo ' <tr> <td>'.$stud['fio'].'</td> <td>'.$stud['group'].'</td> <th> <input type=submit value="Удалить"> 
    <input type=submit value="Изменить"></td> </tr>';
}
?>


а как мне теперь подключить вторую таблицу и вытащить от туда данные по полю group?
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Цитата

а как мне теперь подключить вторую таблицу и вытащить от туда данные по полю group? 


Код

$t->query("select * from `group`");

PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Цитата($дмитрий @  4.11.2011,  16:39 Найти цитируемый пост)
$t->query("select * from `group`");



Пробовал... пропадают данные с таблицы user




Это сообщение отредактировал(а) xpamoi - 4.11.2011, 16:48
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Цитата

есть база с парой таблиц "users" с полями "login, fio"

В таблице users нет поле принадлежности пользователя к группе, как же ты хочешь вывести $stud['group']  smile 

Приведи полную структуру обеих таблиц

Добавлено через 2 минуты и 1 секунду
+ не мешало бы показать скрипт целиком, сейчас не понятно где присваивается значения массиву $a
PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Цитата($дмитрий @  4.11.2011,  16:49 Найти цитируемый пост)
В таблице users нет поле принадлежности пользователя к группе, как же ты хочешь вывести $stud['group']   

Приведи полную структуру обеих таблиц 


таблица Users  "id,    login, pass, fio,    user_type_id,    group_id"
таблица group "id,    name"

Добавлено @ 16:58
Код

<?php
include('db.php');
$t = new Db();
$t->connect();
$t->query('select * from `user`');
//$t->show();
?>

<html>

<head>
<title>Справочник студентов</title>
<style type="text/css" />
body {background-image: url('back.png'); background-attachment:fixed;}
</style>
</head>

<body>
<div id="body">
<img src="list_stud.png" align=right vspace=20 hspace=200>

<center>

<br>
<br>
<img src="note_head.png" align=bottom><div style="background: url(note_line.png) repeat-y center;"><table border=1>
<tr> <th width=55%>Ф.И.О</th> 

<th>Группа
<select>
<?php
$a = $t->get();
foreach($a as $stud) {

echo '<option>'.$stud['group'].'</option>';
}
?>
</select></th>
<th>Действия</th> </tr>



<?php
foreach($a as $stud) {
echo ' <tr> <td>'.$stud['login'].'</td> <td>'.$stud['fio'].'</td> <th> <input type=submit value="Удалить"> 
    <input type=submit value="Изменить"></td> </tr>';
}
?>
<tr><td colspan=2>&nbsp;</td><td><center><input type=submit value="Добавить"></center></td></tr>
</table></div><img src="note_foot.png" align=bottom>

</center>
</div>
</body>

</html>

вот весь код


Это сообщение отредактировал(а) xpamoi - 4.11.2011, 17:00
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Тогда так
Код

$t->query("
SELECT
    *
FROM
    `users` AS U,
    `group` AS G
WHERE
     U.group_id = G.id");

PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



$дмитрий

отлично! заработало!

Еще такой вопрос! есть выпадающее меню с выбором групп для будущей сортировки.


вот тут!

Код

<?php
$a = $t->get();
foreach($a as $stud) {

echo '<option>'.$stud['name'].'</option>';
}
?>


обращение так же идет к таблице group. но сейчас  это поле выдает то что и поле name в столбце таблицы!

Код

<?php
foreach($a as $stud) {
echo ' <tr> <td>'.$stud['fio'].'</td> <td>'.$stud['name'].'</td> <th> <input type=submit value="Удалить"> 
    <input type=submit value="Изменить"></td> </tr>';
}
?>




Это сообщение отредактировал(а) xpamoi - 4.11.2011, 17:14
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Вопрос не понятен
PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



вот тут под name должны выдаваться имена групп из таблицы group.

Код

<?php
$a = $t->get();
foreach($a as $stud) {
echo '<option>'.$stud['name'].'</option>';
}
?>


Сейчас оно показывает не правильно. допустим в таблице Group в поле name есть строки "юзер, админ, студ". 

А выдает оно мне оно "юзер, юзер, админ, студ" в той последовательности в которой выведены группы в предыдущем запросе
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Чтоб не парится отдельным запросом пропиши
Код

$t->query("select `name` from `group`");
$b = $t->get();
foreach($b as $stud) {
echo '<option>'.$stud['name'].'</option>';
}


Это сообщение отредактировал(а) $дмитрий - 4.11.2011, 17:55
PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Получилось! только то что делали до этого пропало)
PM MAIL Skype   Вверх
$дмитрий
Дата 4.11.2011, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Ну так нужно не просто копировать, а хоть немного задуматься что ты копируешь  smile 
Код

$t->query("select `name` from `group`");
$b = $t->get();
foreach($b as $stud) {
echo '<option>'.$stud['name'].'</option>';
}

$t->query("
SELECT
    *
FROM
    `users` AS U,
    `group` AS G
WHERE
     U.group_id = G.id");
$a = $t->get();
foreach($a as $stud) {
echo ' <tr> <td>'.$stud['fio'].'</td> <td>'.$stud['name'].'</td> <th> <input type=submit value="Удалить"> 
    <input type=submit value="Изменить"></td> </tr>';
}

PM MAIL   Вверх
xpamoi
Дата 4.11.2011, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



а нашел ошибку! я просто запрос
Код

$t->query("
SELECT
    *
FROM
    `user` AS U,
    `group` AS G
WHERE
     U.group_id = G.id");


поместил в самом верху! перенес его все заработало! 

Спасибо большое! smile 
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1169 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.