Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод даных из бд


Автор: fasttsaf 5.6.2012, 17:46
Покажите код вывода даных из бд (подключение к бд(include ("bd.php")) .
 И ещё как достать из бд аватар пользователя. загрузка аватара выглядит вот так



Код


if    (!empty($_POST['fupload'])) //проверяем, отправил    ли пользователь изображение
            {
            $fupload=$_POST['fupload'];    $fupload = trim($fupload); 
              if ($fupload =='' or empty($fupload)) {
                                 unset($fupload);// если переменная $fupload пуста, то удаляем ее
                                                            }
            }          
if    (!isset($fupload) or empty($fupload) or $fupload =='')
            {
            //если переменной не существует (пользователь не отправил    изображение),то присваиваем ему заранее приготовленную картинку с надписью    "нет аватара"
            $avatar    = "avatars/1.png"; //можете    нарисовать net-avatara.jpg или взять в исходниках
            }          
else 
            {
 
            //иначе - загружаем изображение пользователя
            $path_to_90_directory    = 'avatars/';//папка,    куда будет загружаться начальная картинка и ее сжатая копия          
         
            if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
                      {                 
                               $filename =    $_FILES['fupload']['name'];
                               $source =    $_FILES['fupload']['tmp_name']; 
                               $target =    $path_to_90_directory . $filename;
                               move_uploaded_file($source,    $target);//загрузка оригинала в папку $path_to_90_directory           
         if(preg_match('/[.](GIF)|(gif)$/',    $filename)) {
                     $im    = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем    изображение в этом же формате. Необходимо для последующего сжатия
                     }
                     if(preg_match('/[.](PNG)|(png)$/',    $filename)) {
                     $im =    imagecreatefrompng($path_to_90_directory.$filename) ;//если    оригинал был в формате png, то создаем изображение в этом же формате.    Необходимо для последующего сжатия
                     }
                     
                     if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/',    $filename)) {
                               $im =    imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же    формате. Необходимо для последующего сжатия
                     }           
//СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ    ВЗЯТО С САЙТА www.codenet.ru           
// Создание квадрата 90x90
            // dest - результирующее изображение 
            // w - ширина изображения 
            // ratio - коэффициент пропорциональности           
$w    = 140;  //    квадратная 90x90. Можно поставить и другой размер.          
// создаём исходное изображение на основе 
            // исходного файла и определяем его размеры 
            $w_src    = imagesx($im); //вычисляем ширину
            $h_src    = imagesy($im); //вычисляем высоту изображения
                     // создаём    пустую квадратную картинку 
                     // важно именно    truecolor!, иначе будем иметь 8-битный результат 
                     $dest = imagecreatetruecolor($w,$w);           
         //    вырезаем квадратную серединку по x, если фото горизонтальное 
                     if    ($w_src>$h_src) 
                     imagecopyresampled($dest, $im, 0, 0,
                                         round((max($w_src,$h_src)-min($w_src,$h_src))/2),
                                      0, $w, $w,    min($w_src,$h_src), min($w_src,$h_src));           
         // вырезаем    квадратную верхушку по y, 
                     // если фото    вертикальное (хотя можно тоже серединку) 
                     if    ($w_src<$h_src) 
                     imagecopyresampled($dest, $im, 0, 0,    0, 0, $w, $w,
                                      min($w_src,$h_src),    min($w_src,$h_src));           
         // квадратная картинка    масштабируется без вырезок 
                     if ($w_src==$h_src) 
                     imagecopyresampled($dest,    $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);           
$date=time();    //вычисляем время в настоящий момент.
            imagejpeg($dest,    $path_to_90_directory.$date.".jpg");//сохраняем    изображение формата jpg в нужную папку, именем будет текущее время. Сделано,    чтобы у аватаров не было одинаковых имен.          
//почему именно jpg? Он занимает очень мало места + уничтожается    анимирование gif изображения, которое отвлекает пользователя. Не очень    приятно читать его комментарий, когда краем глаза замечаешь какое-то    движение.          
$avatar    = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара. 
 
$delfull    = $path_to_90_directory.$filename; 
            unlink    ($delfull);//удаляем оригинал загруженного    изображения, он нам больше не нужен. Задачей было - получить миниатюру.
            }
            else 
                     {
                                //в случае    несоответствия формата, выдаем соответствующее сообщение
                     exit ("Аватар должен быть в    формате <strong>JPG,GIF или PNG</strong>");
                             }
            //конец процесса загрузки и присвоения переменной $avatar адреса    загруженной авы
            }       

Автор: serezhka1986 6.6.2012, 09:19
Такой код загрузки аватара видел на сайте ruseller.com
В этом случае в переменной $avatar находится путь к аватару, так что надо бы еще записать в таблицу с данными пользователей этот путь для конкретного пользователя.
Из БД данные выводим, например, так:
Код

$result = mysql_query('ЗДЕСЬ ПИШЕМ СВОЙ SQL-ЗАПРОС');
while($row = mysql_fetch_array($result))
{
echo "ID: ".$row['id']."<br />";
echo "Логин: ".$row['login']."<br />";
}

Здесь login и id - поля таблицы.
Чтобы вывести аватар надо дописать, примерно, такое:
Код

...
echo "<img src='".$row['avatar']."' alt='Аватар пользователя' border='0' /><br />";
...

Здесь avatar - название поля таблицы

Автор: fasttsaf 6.6.2012, 14:13
эть понятно спс но  страница принадлежит какомуто человеку как опредилить что бы был аватар иммено того человека
Да вход и регистрация как на ruseller

Автор: serezhka1986 6.6.2012, 15:27
Ну так ведь аватар загружается или при регистрации нового пользователя, или при изменении им своей информации в личном кабинете. Если при регистрации, то в таблицу с информацией о новом пользователе надо сохранять и путь к аватару. При этом таблица будет иметь примерно такие поля:
- id
- login
- password
- avatar
Если же пользователь изменяет аватар, то здесь вы уже по-любому знаете его логин.

Мой совет: Скачайте все исходники тех уроков, там реализовано и вывод аватара и изменение его пользователем. По-моему даже комментарии были. Если нету, то смотрите пошагово в уроках, там автор описывает все свои действия. (http://ruseller.com/project.php?id=5)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)