[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Извлечение из БД
PiratXXX
Все день добрый!!!
У меня такие проблемы, помогите пожалуйста!!!

Проблема №1:
Нужно сделать, так что бы все зарегистрированные пользователи отображались, т.е. я вывожу все логины из бд!!!Я нашел в книги что это делается при помощи while вот так:

$user = mysql_query("SELECT * FROM users");
while ($row = mysql_fetch_array($user))
{
echo $row['login'];
}

А теперь объясните пожалуйста почему если я делаю так:

$user = mysql_fetch_array(mysql_query("SELECT * FROM users"));
echo $user['login'];

У меня выводит только логин из первой строки в бд?
И почему не работает вот так:

while ($user = mysql_fetch_array(mysql_query("SELECT * FROM users")))
{
echo $user['login'];
}

или так:

$user = mysql_fetch_array(mysql_query("SELECT * FROM users"));
while ($user)
{
echo $user['login'];
}

Не работает! И объясните мне почему while, и вообще объясните про него пожалуйста, я читал и в мануле, и в книге но увы не дошло! Прошу объясните для особо одаренных, и если можете привелите пример когда его надо использовать, ну вообщем подоходчевей! Спасибо!

Вопрос №2:
Надо что бы при нажатии на один из выведенных логинов пользователь переходил на страницу и там отображалась информация о том пользователе на которого он нажал!
Я решил, эту проблему так к каждому выведеному логину крепим ссылку на аккаунт, и сохраняем логин в сессию, а потом на странице, достаем из бд информацию от туда где логин равен логины в сессии!Так?
Вот код:

$user = mysql_query("SELECT * FROM users");

while ($row = mysql_fetch_array($user))
{
echo "<a href='account.php'>".$_SESSION['row']=$row['login']."<br>";
}

Вот а проблема в том, что когда я вывожу в аккаунте логин который в сессии выводится только логи который был последним в списке выведенных логинов!

Помогите пожалуйста решить эти проблемы!!!

Зараннее ВСЕМ огромное СПАСИБО!!!



Спустя 15 минут, 42 секунды (27.06.2010 - 14:17) Lenarfate написал(а):
while - это цикл. до тех пор, пока условие истинно, то есть пока $row = ассоциативный массив данных из базы, будет повторяться тело цикла, то есть то, что между фигурными скобками {}

Спустя 6 минут, 51 секунда (27.06.2010 - 14:24) Lenarfate написал(а):
Цитата
Вот а проблема в том, что когда я вывожу в аккаунте логин который в сессии выводится только логи который был последним в списке выведенных логинов!


а так
$user = mysql_query("SELECT * FROM users");
$i = 0;

while ($row = mysql_fetch_array($user))
{
$i++;
echo "<a href='account.php'>".$_SESSION['row'][$i]=$row['login']."<br>";
}

??

ps размещай темы правильно. твой вопрос ни коем образом не касается кодировок!

Спустя 1 день, 3 часа, 25 минут, 17 секунд (28.06.2010 - 17:49) PiratXXX написал(а):
Lenarfate

неа! так оно выводит только первый символ логина, а при выведении на др. странице всеравно тоже самое!

Спустя 30 минут, 21 секунда (28.06.2010 - 18:19) tomash написал(а):
PiratXXX
В сессию ты должен зположить логин только после аутентификации пользователя. Да и не логин, а лучше хэш логина.

Спустя 2 часа, 10 минут, 22 секунды (28.06.2010 - 20:30) linker написал(а):
if (!($Resource = mysql_query("select * from users", $Handler))) { die('ошибка'); }
while($User = mysql_fetch_assoc($Resource))
{
echo '<a href="account.php?login=' . $User['login'] . '">' . $User['login'] . '</a><br>';
}

Спустя 10 минут, 26 секунд (28.06.2010 - 20:40) PiratXXX написал(а):
linker

спасибо!

Ну да это я понял! а вот почему или как мне заносить в сессею логин выведенного пользователя и что бы на другой странице отображалась его инфа, а то я заношу, а в сессию поподает только логин последнего из выведенных пользователей!

Спустя 9 минут, 4 секунды (28.06.2010 - 20:49) linker написал(а):
Цитата (PiratXXX @ 28.06.2010 - 17:40)
linker

спасибо!

Ну да это я понял! а вот почему или как мне заносить в сессею логин выведенного пользователя и что бы на другой странице отображалась его инфа, а то я заношу, а в сессию поподает только логин последнего из выведенных пользователей!

Зачем в сессию заносить логин пользователя? Там же получается ссылка вида:
http://mysite.ru/account.php?login=VasyaPupkin

В этом скрипте тупо пишите:
<?php
if (!isset($_GET['login'])) { die('Нет такого юзверя'); }
$Login = $_GET['login']
/* тут обязательно зачищаем $Login от всякого рода скрипткиддис хаков */
if (!($Resource = mysql_query("select * from users where login like '$Login'", $Handler)))
{
die('Ошибка');
}
if ($User = mysql_fetch_assoc($Resource))
{
echo 'Логин ' . $User['login'] . '<br>';
echo 'Полное имя ' . $User['fullname'] . '<br>';
.........
// и etc.
}
?>

Спустя 58 секунд (28.06.2010 - 20:50) PiratXXX написал(а):
вообщем хочу сделать что типа как на этом форуме! внизу отображаются пользователи онлайн, а мне надо что отображались все зарегиные пользователи(ну с этим я разобрался), и кликаешь на ник юзера и выводится его аккаунт вот как это сделать?

Спустя 3 часа, 2 минуты, 48 секунд (28.06.2010 - 23:53) PiratXXX написал(а):
linker

спасибо тибе!!! все понял все!!!

а как сделать ссылку вида http://vkontakte.ru/id114870284???

Спустя 6 часов, 42 минуты, 49 секунд (29.06.2010 - 06:36) Basili4 написал(а):
http://vkontakte.ru/id114870284??? почитай про ЧПУ

вот почитай тут такай же вопрос про ЧПУ http://phpforum.ru/index.php?showtopic=30615&hl=


_____________
http://flibro.com/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.