Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не могу извлечь данные из таблицы universities
 
 автор: franko   (31.03.2011 в 12:10)   письмо автору
 
 

добрый день. не могу извлечь данные из таблицы universities
видимо ошибаюсь с присвоением
$id_university = $myrow2['id_university']

таблица universities_specialities (ID_university, ID_speciality)
$result2 = mysql_query("SELECT * FROM universities_specialities WHERE id_speciality='$id_speciality'", $db);

$id_university = $myrow2['id_university']; 

$result3 = mysql_query("SELECT * FROM universities WHERE id_university='$id_university'", $db);

  Ответить  
 
 автор: cheops   (31.03.2011 в 12:19)   письмо автору
 
   для: franko   (31.03.2011 в 12:10)
 

В чем ошибка? Результирующие таблицы пустые или функция mysql_error() возвращает какую-то ошибку?

  Ответить  
 
 автор: franko   (31.03.2011 в 12:36)   письмо автору
 
   для: cheops   (31.03.2011 в 12:19)
 

Информация по запросу не может быть извлечена - в таблице нет записей.

а таблица полная

  Ответить  
 
 автор: cheops   (31.03.2011 в 12:44)   письмо автору
 
   для: franko   (31.03.2011 в 12:36)
 

Проверьте при помощи функции mysql_num_rows(), первый запрос что-нибудь возвращает?

PS Если $id_university больше нигде, кроме как в запросе не нужен, можно воспользоваться вложенными запросами
SELECT * FROM universities
WHERE id_university = (SELECT id_university FROM universities_specialities
WHERE id_speciality='$id_speciality' LIMIT 1)

  Ответить  
 
 автор: franko   (31.03.2011 в 12:49)   письмо автору
 
   для: cheops   (31.03.2011 в 12:44)
 

ID_university в двух таблицах universities и universities_specialities

Таким образом можно сделать такие таблицы c основными полями:
1. universities (ID_university, title, ID_town, ID_region, ID_state)
2. specialities ( ID_speciality, title)
6. universities_specialities (ID_university, ID_speciality)

  Ответить  
 
 автор: franko   (31.03.2011 в 15:13)   письмо автору
 
   для: franko   (31.03.2011 в 12:49)
 

сделал проверку
$num_rows = mysql_num_rows($result3);
echo "$num_rows Rows\n";

0 Rows

  Ответить  
 
 автор: franko   (31.03.2011 в 15:20)   письмо автору
 
   для: franko   (31.03.2011 в 15:13)
 

вот оно решение
$myrow2 = mysql_fetch_array($result2);

  Ответить  
 
 автор: franko   (31.03.2011 в 15:32)   письмо автору
 
   для: cheops   (31.03.2011 в 12:44)
 

вопрос теперь в том, что если кликнуть на специальность, то выводится только один вуз. поэтому обрамляем запрос еще одним условием. но дает ошибку.
include ("blocks/bd.php");
$result2 = mysql_query("SELECT * FROM universities_specialities WHERE id_speciality='$id_speciality'", $db);
if (!$result2)
{
echo "<p>1)Запрос на выборку данных из базы не прошел.
<br> <strong>Код ошибки:</strong></p>";
exit (mysql_error()); 
}
if (mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_array($result2);
$id_university = $myrow2['id_university'];
do
{
$result3 = mysql_query("SELECT * FROM universities WHERE id_university='$id_university'", $db);
if (!$result3)
{
echo "<p>2)Запрос на выборку данных из базы не прошел.
<br> <strong>Код ошибки:</strong></p>";
exit (mysql_error()); 
}
if (mysql_num_rows($result3) > 0)
{
$myrow3 = mysql_fetch_array($result3);
do
{
printf ("<h4><a href='post_university.php?id_university=%s'>%s</a></h4><br>
", $myrow3["id_university"], $myrow3["title"]);
}
while ($myrow3 = mysql_fetch_array($result3));
}
else 
{
echo "<p>1)Информация по запросу не может быть извлечена - в таблице нет записей.</p>";
exit ();
}}

на конец строки дает ошибку Parse error: syntax error, unexpected ';',

  Ответить  
 
 автор: cheops   (31.03.2011 в 16:01)   письмо автору
 
   для: franko   (31.03.2011 в 15:32)
 

>на конец строки дает ошибку Parse error: syntax error, unexpected ';',
На какую строку указывает это сообщение?

  Ответить  
 
 автор: franko   (31.03.2011 в 16:04)   письмо автору
 
   для: cheops   (31.03.2011 в 16:01)
 

на самую последнюю
на ?>

exit ();
}}
?> - вот на эту строку

  Ответить  
 
 автор: cheops   (31.03.2011 в 16:20)   письмо автору
 
   для: franko   (31.03.2011 в 16:04)
 

Это ошибка синтаксиса, либо точка с запятой пропущена либо скобка. При помощи комментариев отключайте части кода (проверяя исчезла ошибка или нет), пока не её локализуете.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования