|
|
|
| всем доброго вечерка, подскажите пожалуйста как Как вывести 2 таблицы из одной базы данных MySQL на одной странице. Пробовал, вот это
тот код
Код:
$result4=mysql_query( "SELECT id,title,description,mini_img,view,date,author, rub FROM lessons, weblessons WHERE lessons.id= weblessons.id_id ORDER BY date DESC, id DESC LIMIT 10", $db );
ничего не получается . пишет ошибку вот эту
Запрос на выборку данных из базы не прошел. Напишите об этом администратору antosha2027@gmail.com.
код ошибки:
Table 'blog.weblesoons' doesn't exist
помогите пожалуйста | |
|
|
|
|
|
|
|
для: antosha23
(15.02.2011 в 23:26)
| | У вас таблицы weblesoons нет в базе данных blog, имя таблицы указано верно? | |
|
|
|
|
55.1 Кб |
|
|
для: cheops
(16.02.2011 в 00:06)
| | weblessons
вот дам бд | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 00:12)
| | вот верно помогите плиз | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 00:12)
| | По прежнему выводится сообщение об ошибке "Table 'blog.weblesoons' doesn't exist"? А база данных blog выбрана? Каким образом осуществляете соединение с MySQL (можете привести этот участок кода)? | |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 04:29)
| | я написал как правильно weblessons | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 10:50)
| | Теперь зайдите в собственный скрипт(ы) и во всех SQL-запросах проверьте написание названия этой таблицы.
Ну ведь ясно же, что в одном из них опечатались.
можно даже поиск неправильного варианта имени сделать - тут же всё выяснится. | |
|
|
|
|
|
|
|
для: Trianon
(16.02.2011 в 10:55)
| | weblessons | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 10:57)
| | parrot mode on? | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 10:57)
| | У вас в запросе вместо weblessons написано weblesoons. | |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 11:32)
| | я же написал как правильно | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 11:33)
| | Это понятно, я лишь хотел обратить внимание на то, что сообщает MySQL в сообщении об ошибке
"Table 'blog.weblesoons' doesn't exist"
Если у вас по прежнему выводится это сообщение, то необходимо исправить название таблицы в SQL-запросе. | |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 11:40)
| | вместо o напишите s | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 11:42)
| | Так какую ошибку сейчас выводит СУБД?
PS Проблема до сих пор актуальна? | |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 11:45)
| | Запрос на выборку данных из базы не прошел. Напишите об этом администратору antosha2027@gmail.com.
код ошибки:
Column 'id' in field list is ambiguous | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 11:47)
| | Ага. Дело в том, что у вас в списке выборки после ключевого слова SELECT идет поле id, который одинаково называется в обеих таблицах, нужно использовать для него расширенное имя, указав в начале одну из таблиц, например lessons.id. Вообще хорошо бы это сделать для всех остальных выбираемых полей - это позволит в дальнейшем исключить как класс этот вид ошибок.
SELECT lessons.id, title, description, mini_img, view, date, author, rub
FROM lessons, weblessons
WHERE lessons.id= weblessons.id_id
ORDER BY date DESC, id DESC
LIMIT 10
|
| |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 11:52)
| | увы не выводятся данные со второй таблицы даже прописал вот так
$result4=mysql_query( "SELECT lessons.id,
lessons.title,
lessons.description,
lessons.mini_img,
lessons.view,
lessons.date,
lessons.author,
lessons.rub
FROM lessons, weblessons
WHERE lessons.id= weblessons.id
ORDER BY date DESC, id DESC
LIMIT 10", $db );
|
ничего не происходит | |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 12:04)
| | Если выполнить этот запрос применительно к дампу из вашего второго сообщения, то выводится две записи. После вызова функции mysql_query() вы в дальнейшем как обрабатывате результирующую таблицу (может там уже какой-то сбой происходит)? | |
|
|
|
|
|
|
|
для: cheops
(16.02.2011 в 12:23)
| | вот весь запрос
<?php
$result4=mysql_query( "SELECT id,title, description,mini_img, view, date, author, rub FROM lessons ORDER BY date DESC, id DESC LIMIT 10", $db );
if (!$result4)
{
echo"<p > Запрос на выборку данных из базы не прошел. Напишите об этом администратору antosha2027@gmail.com.<br><strong>код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result4)>0)
{
$myrow4=mysql_fetch_array($result4);
do
{$date = $myrow4["date"];
list($year, $month, $day) = explode("-", $date); // Или сразу, за мес{$date = $myrow["date"];
list($year, $month, $day) = explode("-", $date); // Или сразу, за место $date, поставить $myrow["date"]
$date = "$day.$month.$year"; // Дата в новом формате
printf("<table class='post_lesons'>
<tr>
<td valign='top'>
<div id='post_les' ><a href='lessons.php?id=%s'>%s</a></div>
<div id='border_bottom'></div>
<span class='otstup'><span class='author_desc'>Автор/переводчик:</span > <span class='author'>%s</span><br>
<span class='post_date'> дата публикации: $date</span> <span id='post_view'>просмотров: %s</span></span>
<div class='mini_img'><img src='%s'></div>
<div class='post_desc'>%s</div>
</td>
</tr>
</table> ",$myrow4["id"] ,$myrow4["title"],$myrow4["author"],$myrow4["view"],$myrow4["mini_img"],$myrow4["description"] );
}
while ($myrow4=mysql_fetch_array($result4));
}
else
{echo"<p>Информация по запросу не может быть выбранна в таблице нет записей.</p>";
exit();
}?>
|
| |
|
|
|
|
|
|
|
для: antosha23
(16.02.2011 в 13:31)
| | А что выводит? "Информация по запросу не может быть выбранна в таблице нет записей."?
Кстати, тут используется другой SQL-запрос, в двух-табличном запросе вместо $myrow4["id"] нужно будет использовать элементы вида $myrow4["lessons.id"] или воспользоваться конструкцией AS, чтобы переименовать столбцы.
PS Кстати вместо конструкции do ... while(), которая требует двух вызов mysql_fetch_array(), обыно используется просто конструкция while() - это позволяет обойтись одним вызовом mysql_fetch_array(). | |
|
|
|