Re: Помогите новичку
Не вижу в чем именно проблема. Если поле в котором хранится имеет название surname, то так и выводить, как вы сделали.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум PHP-MyAdmin.RU → MySQL & phpMyAdmin → Помогите новичку
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Не вижу в чем именно проблема. Если поле в котором хранится имеет название surname, то так и выводить, как вы сделали.
Я связываю два поля id_fio_custom(заказчик) и id_fio_response(ответственный) родительской таблицы(software), с одним полем surname дочерней(users).Идентификаторы у полей заказчик и ответственный разные, соответственно фамилии должны выводится разные
Я же не могу вывести так:
echo "<td>".$soft['surname']." </td>";
echo "<td>".$soft['surname']." </td>";
потому что он выведет две одинаковые фамилии,
Пишите запрос с алиасами для полей имеющих одинаковые названия.
SELECT *, `id_fio_custom`.`surname` AS `custom_surname`, `id_fio_response`.`surname` AS `response_surname` ...
echo "<td>".$soft['custom_surname']." </td>";
echo "<td>".$soft['response_surname']." </td>";
{$q = "SELECT *,`id_fio_custom`.`surname` AS `custom_surname`, `id_fio_response`.`surname` AS `response_surname`
FROM `software`,`users`
INNER JOIN `type_license` ON software.id_type_license = type_license.id
INNER JOIN `type_purchase` ON software.id_type_purchase = type_purchase.id
INNER JOIN `users` AS u1 ON software.id_fio_custom = u1.id
INNER JOIN `users` AS u2 ON software.id_fio_response = u2.id";}
Пишет Unknown column 'id_fio_custom.surname' in 'field list'
Если используете алиасы (`users` AS u1), то их и пишите в имени таблицы (`u1`.`surname`). Если сделать выборку одним запросом не получается, то делайте их несколько.
Что то я не приходит мыслей как это можно сделать.Не приведёте примерчик?
Что то я не приходит мыслей как это можно сделать.Не приведёте примерчик?
Пример чего?
Если надо сделать несколько запросов, то выбираем по идентификатору сперва из одной таблицы, затем из другой.
Вот нашёл решение,
$q = "SELECT * FROM software s
INNER JOIN `type_license` ON s.id_type_license = type_license.id
INNER JOIN `type_purchase` ON s.id_type_purchase = type_purchase.id
INNER JOIN `users` AS u ON s.id_fio_response = u.id";
$result = mysql_query($q);
while($soft = mysql_fetch_array($result))
{
$id_custom = $soft['id_fio_custom'];
$a = "SELECT * FROM users WHERE id=$id_custom";
$result2 = mysql_query($a);
$fio_custom = mysql_fetch_array ($result2);
echo "<td>".$soft['surname']." </td>";
echo "<td>".$soft['fio_custom']." </td>";}
Но подозреваю такой запрос жрёт очень много ресурсов
Но подозреваю такой запрос жрёт очень много ресурсов
Не беспокойтесь, объединение таблиц более ресурсоемко, чем несколько отдельных запросов выбирающих данные по первичному ключу.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум PHP-MyAdmin.RU → MySQL & phpMyAdmin → Помогите новичку
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.