Есть код.Он выбирает из таблицы udid_odid все значения od_id для переменной переданной через GET и выводит его через echo.
Есть еще одна таблица oborud (в ней столбцы od_id и od_model).Необходимо из нее выбрать все od_model соответствующие od_id и выводить их вместо od_id.
Чтото в виде
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Изменение информации</title>
</head>
<body style="background-color:#4c5866">
<table width="60%" bordercolor="white" border="1">
<tr>
<td>
<?php
$ud_id = $_GET['ud_id'];
//соединяемся с БД для выборки оборудования
$db = mysql_connect("localhost","aleks","12345");
mysql_select_db("work",$db);
mysql_query("SET NAMES cp1251");
mysql_query("SET CHARACTER SET cp1251");
mysql_query("SET character_set_client = cp1251");
mysql_query("SET character_set_connection = cp1251");
mysql_query("SET character_set_results = cp1251");
//выбор всех id моделей соответствующих ud_id
$result_id = mysql_query("SELECT `od_id` FROM udid_odid WHERE ud_id = ".(int)$ud_id);
$myrow_id = mysql_fetch_array($result_id);
//выводим все названия id
do
{
$vivod_id=$myrow_id['od_id'];
echo $vivod_id."<br>";
}
while ($myrow_id =mysql_fetch_array($result_id));
//выбор всех моделей
$result_od = mysql_query("SELECT `od_model` FROM oborud WHERE od_id = ".(int)$vivod_id);
$myrow_model = mysql_fetch_array($result_od);
//выводим все модели
do
{
echo $myrow_model['od_model']."<br>";
}
while ($myrow_model =mysql_fetch_array($result_od));?>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
Но в таком случае он выводит все od_id и только один od_model, соответствующий последнему od_id.
Понимаю, что нужно организовать цикл вывода, но пока безуспешно.
Спустя 12 минут, 3 секунды (21.03.2011 - 18:13) sharki написал(а):
Когда ты постил код, сверху есть BB теги..оформи PHP код тегами для PHP ( только чтобы отступы были)
А так по идее тебе нужно почитать про объединение таблиц INNER JOIN
А так по идее тебе нужно почитать про объединение таблиц INNER JOIN
Спустя 9 минут, 31 секунда (21.03.2011 - 18:22) sharki написал(а):
Как у тебя связаны 2 таблице опиши подробнее
Спустя 16 часов, 19 секунд (22.03.2011 - 10:23) Зодчий написал(а):
Отредактировал.Таблицы выглядят след.образом.
Таблица udid_odid в ней нужные столбцы ud_id и od_id.
Таблица oborud в ней od_id и od_model.
Я делаю передачу через GET значения ud_id и выбираю из таблицы udid_odid значения od_id соответствующие этому ud_id.Все это работает.Но хочу чтобы вместо этого выводились значения od_model, соответствующие этим od_id. Т.е еще один запрос на выборку всех od_model из таблицы oborud соответствующх выбранным ранее od_id.
Таблица udid_odid в ней нужные столбцы ud_id и od_id.
Таблица oborud в ней od_id и od_model.
Я делаю передачу через GET значения ud_id и выбираю из таблицы udid_odid значения od_id соответствующие этому ud_id.Все это работает.Но хочу чтобы вместо этого выводились значения od_model, соответствующие этим od_id. Т.е еще один запрос на выборку всех od_model из таблицы oborud соответствующх выбранным ранее od_id.
Спустя 16 минут, 44 секунды (22.03.2011 - 10:39) Snus написал(а):
SELECT db2.od_model
FROM `udid_odid` AS `db1`
INNER JOIN `oborud` AS `db2` ON db2.od_id = db1.od_id
WHERE db1.ud_id = '".(int)$ud_id."'
Спустя 2 часа, 6 минут, 41 секунда (22.03.2011 - 12:46) Зодчий написал(а):
Snus, чтото я видимо не так делаю. Прописал запрос, организовал цикл, но на выводе получаю значение "Аrray".Подскажите где я не прав
$result_model = mysql_query("SELECT db2.od_model
FROM `udid_odid` AS `db1`
INNER JOIN `oborud` AS `db2` ON db2.od_id = db1.od_id
WHERE db1.ud_id = '".(int)$ud_id."'");
$myrow_model = mysql_fetch_array($result_model);
//выводим все названия
do
{
echo $myrow_model."<br>";
}
while ($myrow_model =mysql_fetch_array($result_model));
Спустя 7 минут, 14 секунд (22.03.2011 - 12:53) sharki написал(а):
$result_model = mysql_query("SELECT db2.od_model
FROM `udid_odid` AS `db1`
INNER JOIN `oborud` AS `db2` ON db2.od_id = db1.od_id
WHERE db1.ud_id = '".(int)$ud_id."'");
while ($myrow_model = mysql_fetch_assoc($result_model)) {
echo $myrow_model['od_model'] . <br />;
}
Замени на это
Спустя 32 минуты, 7 секунд (22.03.2011 - 13:25) Snus написал(а):
Зодчий
Потому что ты присваиваешь переменной $myrow_model массив с полученными из SELECT'а данными. А уже из этого массива тебе нужно достать нужную информацию. sharki тебе ответил как.
Потому что ты присваиваешь переменной $myrow_model массив с полученными из SELECT'а данными. А уже из этого массива тебе нужно достать нужную информацию. sharki тебе ответил как.
Спустя 59 минут, 5 секунд (22.03.2011 - 14:24) Зодчий написал(а):
sharki,
Snus, спасибо!Действительно затупил сильно. Сложно заниматься php урывками на работе при условии,что работаю не в этом направлении.
Snus, спасибо!Действительно затупил сильно. Сложно заниматься php урывками на работе при условии,что работаю не в этом направлении.