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

Форум MySQL

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

 

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

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

тема: Вывод 4-ех случайных изображений из галереи ..
 
 автор: t3ma   (18.07.2007 в 14:52)   письмо автору
 
 

Dump:

DROP TABLE IF EXISTS `gl_images`;
CREATE TABLE IF NOT EXISTS `gl_images` (
  `id` int(11) NOT NULL auto_increment,
  `category` int(11) NOT NULL,
  `filename` varchar(50) NOT NULL default '',
  `parent` int(11) NOT NULL,
  `i_name` tinytext NOT NULL,
  `caption` tinytext NOT NULL,
  `status` enum('hide','not_auth','show') NOT NULL default 'not_auth',
  `balls` float NOT NULL default '0',
  `voices` int(11) NOT NULL default '0',
  `count` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;


Вот так вот я вывожу ТОП-10 - рейтинг фотографий по количеству просмотров фото!

<?
$get_top10 
= @mysql_query("SELECT * FROM gl_images WHERE status='show' ORDER BY count DESC LIMIT 10");

  if (
mysql_num_rows($get_top10) > 0)
  {
    echo 
"<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\" width=\"560\"><tr>\n";

    
$c 1;

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

            
$c++;
        
$get_parent = @mysql_query("SELECT login FROM gl_users WHERE id=$image[parent]");
        
$parent = @mysql_result($get_parent0);

        echo 
"<td><center><a href=\"view_photo.php?id=$image[id]\" class=\"down1\"><img src=\"files/small_$image[filename]\"><br><b>$image[i_name] </b><br>просмотров фото: $image[count]<br>рейтинг: " round($image["balls"], 2) . "</a></td></center>\n";
    }

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

  }

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


но мне нужно сделать чтобы выводились 4-е случайных изображений из галереи.

Вопрос: Подскажите как вывести 4-е случайных изображений из галереи ..

   
 
 автор: sav   (18.07.2007 в 15:02)   письмо автору
 
   для: t3ma   (18.07.2007 в 14:52)
 

попробуй так

SELECT filename FROM  gl_images WHERE status='show' ORDER BY RAND() LIMIT 4

   
 
 автор: t3ma   (18.07.2007 в 15:08)   письмо автору
 
   для: sav   (18.07.2007 в 15:02)
 

Спасибо. Работает!
Подскажите пожалуйста еще .. как вывети последние добавленные 5 фото из галереи ?

   
 
 автор: sav   (18.07.2007 в 15:12)   письмо автору
 
   для: t3ma   (18.07.2007 в 15:08)
 

так попробуй

SELECT * FROM gl_images WHERE status='show' ORDER BY id DESC LIMIT 5

   
 
 автор: t3ma   (18.07.2007 в 15:18)   письмо автору
 
   для: sav   (18.07.2007 в 15:12)
 

спасибо!

   
 
 автор: t3ma   (19.07.2007 в 14:31)   письмо автору
 
   для: sav   (18.07.2007 в 15:12)
 

Вывожу 2 случайных изображения из галереи:

<?php

require("gallery/connect.php");

$get_top10 = @mysql_query("SELECT filename FROM  gl_images WHERE status='show' ORDER BY RAND() LIMIT 2");

  if (
mysql_num_rows($get_top10) > 0)
  {
    echo 
"<tr>
    <td width=\"10\">&nbsp;</td>"
;

    while (
$image = @mysql_fetch_array($get_top10))
 
    {

      
$get_parent = @mysql_query("SELECT login FROM gl_users WHERE id=$image[parent]");
      
$parent = @mysql_result($get_parent0);

      echo 
"<td align=\"center\"><a href=\"gallery/view_photo.php?id=$image[id]\" class=\"down1\"><img src=\"gallery/files/$image[filename]\" width=\"200\" height=\"144\" border=0></a>";
    }

 }

echo 
"<td width=\"10\">&nbsp;</td>
      </tr>
     <tr height=\"5\"><td colspan=4><img src=\"images/null.gif\" width=\"1\" height=\"1\" border=0></td></tr>"
;
?>


но при нажатии на фото, ссылка получается такая: www.xxx.ru/gallery/view_photo.php?id=

почему неставиться id ???

   
 
 автор: Faraon   (19.07.2007 в 14:35)   письмо автору
 
   для: t3ma   (19.07.2007 в 14:31)
 

А вы же id не выводите, только filename
Наверно надо
$get_top10 = @mysql_query("SELECT id,filename FROM  gl_images WHERE status='show' ORDER BY RAND() LIMIT 2"); 

   
 
 автор: t3ma   (19.07.2007 в 14:43)   письмо автору
 
   для: Faraon   (19.07.2007 в 14:35)
 

спасибо. работает

   
 
 автор: t3ma   (19.07.2007 в 14:50)   письмо автору
 
   для: t3ma   (19.07.2007 в 14:43)
 


<?php
 $get_top10 
= @mysql_query("SELECT * FROM gl_images WHERE status='show' ORDER BY id DESC LIMIT 16");

  if (
mysql_num_rows($get_top10) > 0)
  {
    echo 
"<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\" width=\"560\"><tr>\n";

    
$c 1;

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

            
$c++;
         
        
$get_parent = @mysql_query("SELECT login FROM gl_users WHERE id=$image[parent]");
        
$parent = @mysql_result($get_parent0);

        echo 
"<td><center><a href=\"view_photo.php?id=$image[id]\" class=\"down1\"><img src=\"files/small_$image[filename]\"><br><b>$image[i_name] </b><br>просмотров фото: $image[count]<br>добавил: $parent[/b]<br>рейтинг: " round($image["balls"], 2) . "</a></td></center>\n";
    }

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

  }

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

?>


[b]и еще вопросик .. почему не выводит переменную $parent ??? не могу понять в чем трабла ..

   
 
 автор: Trianon   (19.07.2007 в 14:57)   письмо автору
 
   для: t3ma   (19.07.2007 в 14:50)
 

Символом @ Вы заблокировали вывод диагностических сообщений при вызове mysql_-функций.
Самостоятельно ошибки Вы не проверяете.
С таким подходом определить неисправность не получится.

   
 
 автор: Faraon   (19.07.2007 в 15:56)   письмо автору
 
   для: t3ma   (19.07.2007 в 14:50)
 

Наверно не $parent, а $image[parent]
И вообще сложно догадываться не видя структуры таблиц

   
 
 автор: t3ma   (19.07.2007 в 16:05)   письмо автору
 
   для: Faraon   (19.07.2007 в 15:56)
 

>Наверно не $parent, а $image[parent]
почему ????

>И вообще сложно догадываться не видя структуры таблиц
структура таблицы в первом посту!

   
 
 автор: Trianon   (19.07.2007 в 16:22)   письмо автору
 
   для: Faraon   (19.07.2007 в 15:56)
 

Наверное всё же $parent.

   
 
 автор: Faraon   (19.07.2007 в 16:25)   письмо автору
 
   для: Trianon   (19.07.2007 в 16:22)
 

Да че то странно
Если вывести
echo $image[parent];

по которому вы выбираете login, значение имеет?
Либо в таблице gl_users нет такого id

   
 
 автор: t3ma   (19.07.2007 в 17:35)   письмо автору
 
   для: Faraon   (19.07.2007 в 16:25)
 

...

   
Rambler's Top100
вверх

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