Не получается SELECT из 2-х таблиц

vladlen

Новичок
Не получается SELECT из 2-х таблиц

Есть такой код

$result = mysql_query('SELECT * FROM hard, model WHERE model.hard=hard.id');


if (!mysql_error())
{
while($row = mysql_fetch_array ($result))
{
echo ( "<tr>
<td><a href='edit_model.php?edit=yes&id=${row['model.id']}'>edit</a></td>
<td>${row['model.hard']}</td>
<td>${row['model.model']}</td>
<td><a href='delete_model.php?delete=yes&id=${row['model.id']}' onclick='return confirm(\"Удалить запись. Уверен?\")'>delete</a></td>
</tr>");
}
echo ("</table>");
}

В результате выводится таблица с нужным кол-вом строк, но значений в ячейках нет. Что неправильно?
 

vladlen

Новичок
Krisha

Это выбранные данные. Может не такой синтаксис?

При запросе
$result = mysql_query('SELECT id FROM hard');

я вывожу данные
if (!mysql_error())
{
while($row = mysql_fetch_array ($result))
{
echo ("${row['id']}");
}
}
При выборки из двух таблиц как сделать?
 

Krisha

pain in the neck
vladlen
Чтобы вывести id , нужно писать: echo $row['id'];
При выборке из двух таблиц принципы работы с массивами не меняются. Срочно читать про массивы, срочно читать про отладку и учить синтаксис языка :)
 

vladlen

Новичок
Всё получилось. Благодарю.

Наступил в общем то вот на какие грабли.
При запросе

SELECT hard.id, hard.hard, model.hard, model.model, model.id FROM hard, model WHERE model.hard=hard.id

содержимое hard.hard никак нельзя достать $row['hard'].
Чтобы получить эти данные, как я понял, надо либо hard.hard ставить после model.hard либо не создавать поля с одинаковыми именами.
 

Lav

Guest
vladlen
Второе. :)

SELECT hard.id, hard.hard, model.hard AS model_hard, model.model, model.id FROM hard, model WHERE model.hard=hard.id

-~{}~ 05.05.04 09:11:

Вот только я не понял одного, если у тебя в выборке model.hard=hard.id, то зачем выбирать и то, и другое?
 
Сверху