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

Форум PHP

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

 

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

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

тема: Вывод изображений на страницу
 
 автор: t3ma   (23.11.2007 в 13:07)   письмо автору
 
 

Щас изображения выводятся так (см. вложение, код ниже)


<?php
$get_images 
= @mysql_query("SELECT * FROM gl_images WHERE album=$id AND status='show' ORDER BY id DESC LIMIT $start, 3");

        require(
"top.php");
        require(
"menu.php");

         echo 
"\n<br><br><a href=\"javascript: history.back();\" class=\"down1\"><<< вернуться назад</a><br><br>";

        echo 
"<table  width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n\n<tr>\n";

        
$c 0;
        
$names = array();
        while (
$image = @mysql_fetch_array($get_images)){
    
$get_parent_id = @mysql_query("SELECT parent FROM gl_albums WHERE id=".$image['album']);
    
$parent_id = @mysql_result($get_parent_id0);

    
$get_parent = @mysql_query("SELECT login FROM gl_users WHERE id=$parent_id");

    
$parent = @mysql_result($get_parent0);
          
          
$names[$c]['name'] = $image['i_name'];
          
$names[$c]['view'] = $image["count"];
        
            echo 
"<td class=\"foto\" width=\"33%\" style=\"background-image:url('files/small_$image[filename]'); background-repeat:no-repeat; background-position:center center;\"><a href=\"view_photo.php?id=$image[id]\"><img src=\"../images/border.gif\" alt=\"$image[i_name]\" title=\"$image[i_name]\" width=\"130\" height=\"130\" border=\"0\"></a></td>\n";
        
$c++;
  }
  echo 
'</tr><tr>';
  for(
$i=0;$i<$c;$i++){
    echo 
'<td class="fototext"><b>'.$names[$i]['name'].'</b><br> просмотров: '.$names[$i]['view'].'</td>';
  }
}
echo 
"</tr>\n</table>\n";
?>


Если поставить вывод пяти изображения получится так: http://x-web.metroland.ru/foto/2.JPG


<?php
$get_images 
= @mysql_query("SELECT * FROM gl_images WHERE album=$id AND status='show' ORDER BY id DESC LIMIT $start5");
?>


а мне нужно сделать так как показано на этом рисунке http://x-web.metroland.ru/foto/3.JPG , т.е 3 фото в 3 ряда..

помогите пожалуйста.. как это сделать ?

   
 
 автор: ddhvvn   (23.11.2007 в 13:24)   письмо автору
 
   для: t3ma   (23.11.2007 в 13:07)
 

Я делал такое для мини-галлереи... Сейчас поищу скрипт....

   
 
 автор: ddhvvn   (23.11.2007 в 13:33)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 13:24)
 

Вот смотрите, я кое-что не нужное повыкинул, оставил только то, что Вам пригодится.
Насколько я помню (и вижу :) ) здесь вывод фоток по 4 штуки в 3 строки (т.е. 12 штук на странице)
Смотрите, задавайте вопросы:

<?php

    $id 
$_GET["id"];
    
    
//получаем кол-во фотографий в данной категории
    
$get_count_im = @mysql_query("SELECT COUNT(*) FROM gl_images WHERE album=$id AND status='show'");

    
$count = @mysql_result($get_count_im0);

    if (
$count 1)
    {
        echo 
"В данной категории фотографий нет!";
    }
    else
    {
        if (isset(
$_GET["page"]))
        {
            if (!
preg_match("|^[\d]+$|"$_GET["page"])) $page 1;
                else
            
$page $_GET["page"];
        }
        else
            
$page 1;

        
$max_page ceil($count 12);

        if (
$page $max_page)
            
$page $max_page;

        
$start = ($page 1) * 12;

        
$get_images = @mysql_query("SELECT * FROM gl_images WHERE album=$id AND status='show' ORDER BY id DESC LIMIT $start, 12");

        require(
"top.php");

        echo 
"<table><tr>\n";

        
$c 1;

        while (
$image = @mysql_fetch_array($get_images))
        {
            if (
$c == 5)
            {
                
$c 1;
                echo 
"</tr>\n<tr>\n";
            }

            
$c++;

            echo 
"<td><img src=\"files/small_$image[filename]\"><br><a href=\"view_photo.php?id=$image[id]\">$image[i_name]</a></td>\n";
        }

        while (
$c 5)
        {
            echo 
"<td>&nbsp;</td>\n";
            
$c++;
        }
    }

  echo 
"</tr></table>\n"
  
?>

   
 
 автор: t3ma   (23.11.2007 в 13:42)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 13:33)
 

Тут выводится только один блок <tr>, а у меня их два

   
 
 автор: ddhvvn   (23.11.2007 в 13:46)   письмо автору
 
   для: t3ma   (23.11.2007 в 13:42)
 

Блин! Авторы вопросов будут когда-нибудь внимательно читать ответы на их же вопросы?!

>...
>Насколько я помню (и вижу :) ) здесь вывод фоток по 4 штуки в 3 строки (т.е. 12 штук на странице)
>...

Т.е. у меня 3 (три) этих tr .
Я думаю, если Вы все-таки соизволите внимательно просмотреть мой скусок скрипта, Вы сами додумаетесь как сделать 2!

   
 
 автор: t3ma   (23.11.2007 в 13:58)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 13:46)
 

Вы наверно не поняли меня. Мне нужно сдлеать так:


<tr>
<td>фотка</td>
<td>фотка</td>
<td>фотка</td>
</tr>

<tr>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
</tr>

<tr>
<td>фотка</td>
<td>фотка</td>
<td>фотка</td>
</tr>

<tr>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
</tr>

<tr>
<td>фотка</td>
<td>фотка</td>
<td>фотка</td>
</tr>

<tr>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
<td>текст под фоткой</td>
</tr>

   
 
 автор: ddhvvn   (23.11.2007 в 14:06)   письмо автору
 
   для: t3ma   (23.11.2007 в 13:58)
 

Нет это Вы меня не поняли!!!!

У меня так и будет при выполнении скрипта! Только <tr></tr> - 3, а в каждом tr по 4 <td></td>

Блин, просто подставьте свои данные в скрипт и запустите его и посмотрите результат!

   
 
 автор: t3ma   (23.11.2007 в 14:11)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 14:06)
 

блин.. мне то нужно сдлеать чтобы в одном tr выводились одни данные в другом другие...

у вас данные выводятся так:

<tr> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
</tr> 

<tr> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
</tr> 

<tr> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
<td>фотка</td> 
</tr> 


а мне нужно подругому

   
 
 автор: ddhvvn   (23.11.2007 в 14:13)   письмо автору
 
   для: t3ma   (23.11.2007 в 14:11)
 

Ну так по идее у Вас текст-то выводится к картинкам?! Неужели так трудно разобрать скрипт! Там есть то, что Вы не можете сделать сами. Просто по тому же принципу сделайте эти подписи и все!

У меня опять же был где-то скрипт уже с подписями! Но он основан на этом!

   
 
 автор: t3ma   (23.11.2007 в 14:22)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 14:13)
 

попробовал сделать так, и поставил отображение 9:


echo "вывод фоток";
        $c++;

   if ($c % 3 == 0) echo '</tr><tr>';
   }

  echo '</tr><tr>';
  for($i=0;$i<$c;$i++){
    echo '<td class="fototext">текст который под фотками</td>';
  }
}


фотки норм стали но вот подписи к ним, нет..
надо приминить цикл ко всему, а я хз как ето сделать

т.е. он щас только к первому echo применяется а надо сделать в этот цикл два echo

   
 
 автор: ddhvvn   (23.11.2007 в 14:23)   письмо автору
 
   для: t3ma   (23.11.2007 в 14:22)
 

Просто в цикле, как у меня выводите <tr> по два раза....
В первом - фотки, во втором подписи. И ВСЕ!

   
 
 автор: t3ma   (23.11.2007 в 14:28)   письмо автору
 
   для: ddhvvn   (23.11.2007 в 14:23)
 

Можете хотя бы пример приввести ?

   
 
 автор: Faraon   (23.11.2007 в 14:41)   письмо автору
 
   для: t3ma   (23.11.2007 в 14:28)
 

Как пример

<?php
 $get_images 
= @mysql_query("SELECT * FROM gl_images WHERE album=$id AND status='show' ORDER BY id DESC LIMIT $start, 3");

  echo 
"<table>";
  
$final 0;
  
$final1 0;
  while(
$image mysql_fetch_array($get_images))
  {
    if(
$final == 0) echo "<tr>";
    echo 
"<td>".$image['foto']."</td>";
    
$final++;
    if(
$final == 4)
    {
       echo 
"</tr>";
       
$final 0;
    }
  if(
$final1 == 0) echo "<tr>";
    echo 
"<td>".$image['name']."</td>";
    
$final1++;
    if(
$final1 == 4)
    {
       echo 
"</tr>";
       
$final1 0;
    }
  }
  echo 
"</table>";
?>

   
 
 автор: t3ma   (23.11.2007 в 15:11)   письмо автору
 
   для: Faraon   (23.11.2007 в 14:41)
 

спасиб. но чето скрипт нехотит работать

   
 
 автор: Faraon   (23.11.2007 в 15:18)   письмо автору
 
   для: t3ma   (23.11.2007 в 15:11)
 

значения то все свои поставили то?

   
 
 автор: t3ma   (23.11.2007 в 15:28)   письмо автору
 
   для: Faraon   (23.11.2007 в 15:18)
 

да

   
 
 автор: Faraon   (23.11.2007 в 15:33)   письмо автору
 
   для: t3ma   (23.11.2007 в 15:28)
 

Такой вариант

<?php
 $get_images 
= @mysql_query("SELECT * FROM gl_images WHERE album=$id AND status='show' ORDER BY id DESC LIMIT $start, 3");

  echo 
"<table>";
  
$final 0;
  while(
$image mysql_fetch_array($get_images))
  {
    if(
$final == 0) echo "<tr>";
    echo 
"<td><table><tr><td>".$image['foto']."</td></tr><tr><td>".$image['name']."</td></tr></table></td>";
    
$final++;
    if(
$final == 4)
    {
       echo 
"</tr>";
       
$final 0;
    }
  }
  echo 
"</table>";
?>

   
 
 автор: t3ma   (23.11.2007 в 15:38)   письмо автору
 
   для: Faraon   (23.11.2007 в 15:33)
 

у меня эти два скрипта твои выводят ошибку на последнию строчку в файле.

Parse error: syntax error, unexpected $end in l:\home\localhost\www\gallery\album.php on line 92

   
 
 автор: Faraon   (23.11.2007 в 15:41)   письмо автору
 
   для: t3ma   (23.11.2007 в 15:38)
 

Это у вас в скрипте нет закрывающей фигурной скобки
Выложите весь скрипт со внесенными вами изменениями и посмотрим где вы ошибку допустили

   
 
 автор: t3ma   (23.11.2007 в 16:03)   письмо автору
 
   для: Faraon   (23.11.2007 в 15:41)
 

разобрался где не поставил скобку закрывающую... все работает! спасибо большое!

   
 
 автор: ddhvvn   (23.11.2007 в 19:17)   письмо автору
 
   для: t3ma   (23.11.2007 в 16:03)
 

Наконец-то...

   
Rambler's Top100
вверх

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