Вот код, отображающий профиль юзера:
<?php
$user_menu_query = mysql_query("SELECT `href`, `title`, `description` FROM `user_menu`", $db) or die(mysql_error());
if(!$user_menu_query)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($user_menu_query) > 0)
{
$user_menu_query_row = mysql_fetch_assoc($user_menu_query);
while($user_menu_query_row = mysql_fetch_assoc($user_menu_query))
{
printf("<h5><a href='%s?id=".$_SESSION['id']."' title='%s'>%s</a></h5>", $user_menu_query_row['href'], $user_menu_query_row['description'], $user_menu_query_row['title']);
}
}
else
{
echo "В базе нет данных";
}
}
echo "<h4>Мои приложения</h4>";
$user_apps_query = mysql_query("SELECT `app` FROM `user_apps` WHERE `user_id` = '".mysql_real_escape_string($_SESSION['id'])."' LIMIT 3", $db) or die(mysql_error());
if(!$user_apps_query)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($user_apps_query) > 0)
{
$user_apps_query_row = mysql_fetch_assoc($user_apps_query);
while($user_apps_query_row = mysql_fetch_assoc($user_apps_query))
{
$apps_tab_connect = mysql_connect("SELECT * FROM `apps` WHERE `id` = '".$user_apps_query_row['app']."'", $db) or die(mysql_error());
if(!$apps_tab_connect)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($apps_tab_connect) > 0)
{
$apps_tab_connect_row = mysql_fetch_assoc($apps_tab_connect);
while($apps_tab_connect_row = mysql_fetch_assoc($apps_tab_connect))
{
printf("<h5><a href='%s' title='%s'>%s</a></h5>", $apps_tab_connect_row['href'], $apps_tab_connect_row['description'], $apps_tab_connect_row['title']);
}
}
else
{
echo "В базе нет данных";
}
}
}
}
}
?>
Работает все до
echo "<h4>Мои приложения</h4>";, а после этой фразы не выводится вообще ничего. Просто это довольно обидно... <_< <_< . Работать над кодом 3,5 часа и увидеть такой результат....
Спустя 3 минуты, 58 секунд (12.06.2011 - 13:46) Michael написал(а):
Первое, что заметил:
так неверно, теряется значение, надо:
$user_menu_query_row = mysql_fetch_assoc($user_menu_query);
while($user_menu_query_row = mysql_fetch_assoc($user_menu_query))
{
// ...
}
так неверно, теряется значение, надо:
while($user_menu_query_row = mysql_fetch_assoc($user_menu_query))
{
// ...
}
! |
Michael |
Спустя 2 минуты, 26 секунд (12.06.2011 - 13:48) Michael написал(а):
$apps_tab_connect = mysql_connect("SELECT * FROM `apps` WHERE `id` = '"
mysql_query надо
Спустя 5 минут, 17 секунд (12.06.2011 - 13:53) Xsoo написал(а):
Нет, наверно дело не в этом. т.к. сделал так и вылетела ошибка mysql_connect() expects parameter 2 to be string, resource given in ... на строке 51. А там только }.
Спустя 5 минут, 3 секунды (12.06.2011 - 13:58) Michael написал(а):
Цитата |
т.к. сделал так |
что и как ты сделал не в курсе, но в mysql_connect ты пихаешь текст запроса.
Цитата |
Нет, наверно дело не в этом |
я тебе на твои явные ошибки в коде указал, не веришь или что?
Спустя 8 минут, 58 секунд (12.06.2011 - 14:07) Xsoo написал(а):
Почему. Я верю и абсолютно согласен. но все равно даже с query не работает(теперь ошибку не выводит, но не выводит вообще ничего. опять)
Спустя 42 секунды (12.06.2011 - 14:08) Michael написал(а):
показывай как поменял
Спустя 2 минуты (12.06.2011 - 14:10) Xsoo написал(а):
Вот как:
<?php
$user_menu_query = mysql_query("SELECT `href`, `title`, `description` FROM `user_menu`", $db) or die(mysql_error());
if(!$user_menu_query)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($user_menu_query) > 0)
{
while($user_menu_query_row = mysql_fetch_assoc($user_menu_query))
{
printf("<h5><a href='%s?id=".$_SESSION['id']."' title='%s'>%s</a></h5>", $user_menu_query_row['href'], $user_menu_query_row['description'], $user_menu_query_row['title']);
}
}
else
{
echo "В базе нет данных";
}
}
echo "<h4>Мои приложения</h4>";
$user_apps_query = mysql_query("SELECT `app` FROM `user_apps` WHERE `user_id` = '".mysql_real_escape_string($_SESSION['id'])."' LIMIT 3", $db) or die(mysql_error());
if(!$user_apps_query)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($user_apps_query) > 0)
{
$user_apps_query_row = mysql_fetch_assoc($user_apps_query);
while($user_apps_query_row = mysql_fetch_assoc($user_apps_query))
{
$apps_tab_connect = mysql_query("SELECT * FROM `apps` WHERE `id` = '".$user_apps_query_row['app']."'", $db) or die(mysql_error());
if(!$apps_tab_connect)
{
echo "Выборка из базы не прошла!";
exit(mysql_error());
}
else
{
if(mysql_num_rows($apps_tab_connect) > 0)
{
$apps_tab_connect_row = mysql_fetch_assoc($apps_tab_connect);
while($apps_tab_connect_row = mysql_fetch_assoc($apps_tab_connect))
{
printf("<h5><a href='%s' title='%s'>%s</a></h5>", $apps_tab_connect_row['href'], $apps_tab_connect_row['description'], $apps_tab_connect_row['title']);
}
}
else
{
echo "В базе нет данных";
}
}
}
}
}
?>
Спустя 35 секунд (12.06.2011 - 14:11) Xsoo написал(а):
Я ничего не упустил??
Спустя 11 минут, 25 секунд (12.06.2011 - 14:22) Michael написал(а):
Цитата (Xsoo @ 12.06.2011 - 13:11) |
Я ничего не упустил?? |
$user_apps_query_row = mysql_fetch_assoc($user_apps_query);
while($user_apps_query_row = mysql_fetch_assoc($user_apps_query))
вот такие вещи у тебя в скрипте встречаются не раз, а ты исправил только один раз (у первой выборки). Надо везде.
Спустя 5 минут, 2 секунды (12.06.2011 - 14:27) Xsoo написал(а):
Круто! Работает! СПС. + поставил.