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

Форум PHP

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

 

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

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

тема: Вывод картинки через PHP
 
 автор: arastaman   (25.02.2014 в 17:14)   письмо автору
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   (26.02.2014 в 03:02)   письмо автору
 
   для: arastaman   (25.02.2014 в 17:14)
 

Помогите=))

  Ответить  
 
 автор: confirm   (26.02.2014 в 05:32)   письмо автору
 
   для: 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';

  Ответить  
 
 автор: arastaman   (26.02.2014 в 17:12)   письмо автору
118.2 Кб
 
   для: confirm   (26.02.2014 в 05:32)
 

Ок попробую уточнить что мне нужно.
Нужно осуществить вывод всех пользователей зарегистрированных на сайте.
Формат вывода : Логин и Аватар.

Что не получается у меня: Логин пользователей выводит нормально, но картинку не выводит.Штампует картинку одинаковую для всех пользователей.
Выложил скрин.

  Ответить  
 
 автор: confirm   (26.02.2014 в 17:23)   письмо автору
 
   для: 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>'


и если в вашей базе наличие аватара в ней, это путь к файлу аватара, а если его нет, то пустое поле, то все будет работать, в противном случае у вас криво составлена таблица.

  Ответить  
 
 автор: arastaman   (26.02.2014 в 21:19)   письмо автору
 
   для: confirm   (26.02.2014 в 17:23)
 

Спасибо большое.все работает отлично

  Ответить  
 
 автор: Enclave   (24.02.2017 в 19:58)   письмо автору
 
   для: arastaman   (26.02.2014 в 21:19)
 

Люди добрые. Кто может помочь мне с подобным вопросом?

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

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