|
115.3 Кб |
|
| Есть страница "список пользователей",в ней вывожу список всех пользователей, и аватарку каждого, но аватарку выводит некорректно( выводиться автарка не каждого пользователя,
только того, кто в данный момент активен).Вот часть кода,который выводит
$result = mysql_query("SELECT login,id FROM users ORDER BY login",$db);
$myrow = mysql_fetch_array($result);
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$login'",$db);
$myrow4 = mysql_fetch_array($result4);
do
{
if (!empty($myrow4['avatar'])) {$avatar = $myrow4['avatar'];
}
else {$avatar = "avatars/net-avatara.jpg";}
printf(
"
<div class='div_mypage_profile'>
<a href='page.php?id=%s'>%s </a><br>
<img alt='аватар' src='%s'>
</div>
"
,$myrow['id'],$myrow['login'],$myrow4['avatar']);
}
while($myrow = mysql_fetch_array($result));
|
также скрин(не могу выложить скрин) | |
|
|
|
|
|
|
|
для: arastaman
(25.02.2014 в 17:14)
| | Помогите=)) | |
|
|
|
|
|
|
|
для: arastaman
(26.02.2014 в 03:02)
| | В чем помочь то? Зачем делаете два запроса к одной и той же таблице?
Все эти do...while, printf... все это в помойку, и впредь так не писать, не место им в данном простом выводе.
Вопроса то у вас нет, известно лишь есть досада что-то не все выводится. А как должно и по каким условиям? Вопрос надо формулировать, тогда и ответ получать будете.
Например, если это вывод пользователей и нужно для одних вывести аватар а для других иное, то почему вы запрос выполняете по условию логина? Адрес изображения по этому условию должен указываться, а не вторая и некчемная выборка из базы.
<?
//допустим где-то залогинился пользователь, и переменная $login является этим признаком
//подставлять же в запрос переменную как у вас ... WHERE login='$login' ...
//можно только в том случае, если она предварительно прошла фильтр
//но в данном случае она вообще не нужна в запросе
if($q = mysql_query("SELECT * FROM users ORDER BY login",$db)) {
$htm = '';
while($r = mysql_fetch_assoc($q)) $htm .= '<div class="div_mypage_profile">'.
($login && $login == $r['login'] ? '<a href="page.php?id='.$r['id'].'">'.$r['login'].'</a>' : 'Неактивен').
'<img alt="аватар" src="'.($r['avatar'] ? $r['avatar'] : 'avatars/net-avatara.jpg').'"></div>';
echo $htm;
} else echo 'Error base';
|
| |
|
|
|
|
118.2 Кб |
|
|
для: confirm
(26.02.2014 в 05:32)
| | Ок попробую уточнить что мне нужно.
Нужно осуществить вывод всех пользователей зарегистрированных на сайте.
Формат вывода : Логин и Аватар.
Что не получается у меня: Логин пользователей выводит нормально, но картинку не выводит.Штампует картинку одинаковую для всех пользователей.
Выложил скрин. | |
|
|
|
|
|
|
|
для: arastaman
(26.02.2014 в 17:12)
| | Я же вам написал код делающий нужное, только надо изменить в нем эту строку:
while($r = mysql_fetch_assoc($q)) $htm .= '<div class="div_mypage_profile">'.
($login && $login == $r['login'] ? '<a href="page.php?id='.$r['id'].'">'.$r['login'].'</a>' : 'Неактивен').
'<img alt="аватар" src="'.($r['avatar'] ? $r['avatar'] : 'avatars/net-avatara.jpg').'"></div>';
на:
<?
while($r = mysql_fetch_assoc($q)) $htm .= '<div class="div_mypage_profile"><a href="page.php?id='.$r['id'].'">'.$r['login'].'</a><img alt="аватар" src="'.($r['avatar'] ? $r['avatar'] : 'avatars/net-avatara.jpg').'"></div>';
|
и если в вашей базе наличие аватара в ней, это путь к файлу аватара, а если его нет, то пустое поле, то все будет работать, в противном случае у вас криво составлена таблица. | |
|
|
|
|
|
|
|
для: confirm
(26.02.2014 в 17:23)
| | Спасибо большое.все работает отлично | |
|
|
|
|
|
|
|
для: arastaman
(26.02.2014 в 21:19)
| | Люди добрые. Кто может помочь мне с подобным вопросом? | |
|
|
|