Добрый день подскажите как можно сделать следующее. Нужно что бы в список <select> выводилась информация с двух разных таблиц.(Таблицы по структуре одинаковые обе хранят информацию о пользователях,только в одной исполнители, а в другой менеджеры). Как сделать select c данными из одной таблицы я знаю. Не могу понять как вывести инфу с двух таблиц. Пока получаеться только так: PHP: $query_users_man=mysql_query("select name from users_man;"); $result_users_man=mysql_num_rows($query_users_man); $query_users_isp=mysql_query("select name from users_isp;"); $result_users_isp=mysql_num_rows($query_users_isp); $count=($result_users_isp+$result_users_man); for($x=0;$x<$count;$x++) { $query_data_isp=mysql_fetch_array($query_users_isp); echo "<option value='$query_data_isp[id]'>$query_data_isp[name]</option>"; }
за работоспособность не ручаюсь, но может прокатит? Код (Text): $query_users = mysql_query("SELECT id, name FROM users_man UNION SELECT id, name FROM users_isp;"); for($x=0;$x<mysql_num_rows($query_users);$x++) { $query_data=mysql_fetch_array($query_users); echo "<option value='$query_data[id]'>$query_data[name]</option>"; } Только таким путем id будет непонятно к кому относиться, то ли менеджеру, то ли к исполнителю. Потому, раз вы их объединяете в одном списке нужен уникальный идентификатор.
Должен получиться общий список.Спасибо за подсказку. Но сделал пока так, вроде работает: PHP: echo "<select>"; $query_users_man=mysql_query("select name from users_man;"); $result_users_man=mysql_num_rows($query_users_man); $query_users_isp=mysql_query("select name from users_isp;"); $result_users_isp=mysql_num_rows($query_users_isp); for($x=0;$x<$result_users_isp;$x++) { $query_data_isp=mysql_fetch_array($query_users_isp); echo "<option value='$query_data_isp[id]'>$query_data_isp[name]</option>"; } for($h=0;$h<$result_users_man;$h++) { $query_data_man=mysql_fetch_array($query_users_man); echo "<option value='$query_data_man[id]'>$query_data_man[name]</option>"; } echo "</select>";
Eser Откуда у тебя $query_data_man[id], если ты из базы только name извлекаешь? И надо без кавычек писать И попробуй мой код, должен работать. 2 запроса ни к чему, если можно 1 сделать
Eser покажи пример готового списка. создай руками и покажи просто какие параметры в нем из какой таблицы. без кода без всего. просто набросай. просто не ясно что тебе куда надо вывести откуда. проблемы сделать это дним запросом - нет.
Сори просто времени на программирование не хватает. Про UNION спасибо не знал что можно обьединять запросы. Учту это и обязательно попробую, т.к это удобней. $query_data_man[id]-да есть извиняюсь, забыл про него сказать и написать в примере. Спасибо всем за помощь.
Eser кстати можно даже без самого слова UNION обойтись а еще если надо где-то можно давать псевдонимы SELECT ip.names AS names_ip, isp.names AS names_isp если надо разделить в выдаче поля из разных таблиц с одинаковыми именами можно даже из одной таблицы, например разделить на разные поля из даты год и время допустим и взять из одного поля их под разными псевдонимами.
igordata не факт, я пробовал у себя сделать запрос SELECT users.id, texts.id FROM users, texts; Выдало 2 столбца с одинаковым именем. С AS не пробовал, так что доказывать не буду =) А Юнион - то что нужно. Ну а про один столбец с разными именами да,всё верно
tommyangelo Выдало 2 столбца с одинаковым именем. интересно, как это в пхп выглядит... надо будет попробовать при случае.