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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод -2 и +2 от определенного значения.

Сообщения:  [1-10]   [11-18] 

 
 автор: alexey_tihonenko   (19.09.2009 в 12:38)   письмо автору
 
   для: Aidaho   (18.09.2009 в 16:12)
 

Рад, что у вас получилось решить проблему!
На будущее совет: Описывайте поподробнее свою проблему(задачу), иначе тяжело понять, какая конкретная задача перед вами стоит и что именно не получается)

  Ответить  
 
 автор: Aidaho   (18.09.2009 в 16:12)   письмо автору
 
   для: Alexey_Tihonenko   (18.09.2009 в 13:17)
 

в общем решил я проблему... вот так:

$q = "select id_album,foto,descrip,date from gal_foto where id='$_GET[id]'";
        $res = mysql_query($q) or die(mysql_error());

        $fotoBig = mysql_fetch_array($res);


        ... большая картинка

//вот это сделал, что бы лимит правильно выводил
        $quer = mysql_query("SELECT count(id) FROM gal_foto WHERE Id < '$_GET[id]' and id_album = '$fotoBig[id_album]'");
        $res = mysql_fetch_row($quer);
        $a = $res['0'] -2;

        $q = "SELECT * FROM gal_foto WHERE Id < '$_GET[id]' and id_album = '$fotoBig[id_album]' LIMIT $a,2";

        $res = mysql_query($q) or die(mysql_error());
        while($alb = mysql_fetch_array($res)) {


              ... вывод левой части...


                }

        $q = "SELECT * FROM gal_foto WHERE Id >= '$_GET[id]' and id_album = '$fotoBig[id_album]' ORDER BY id LIMIT 3";

        $res = mysql_query($q) or die(mysql_error());
        while($alb = mysql_fetch_array($res)) {


                ... вывод правой части картинок...
                }

  Ответить  
 
 автор: Aidaho   (18.09.2009 в 13:43)   письмо автору
 
   для: Alexey_Tihonenko   (18.09.2009 в 13:17)
 

Спасибо, в принципе работает, но как то странно )))
картинки которые должны быть слево(меньше айди активной картинки) не выводит больше 3-ех первых...
как я понял это из-за конструкции лимит, он находит записи меньше нынешнего айди и выводит их, но т.к. лимит говорит, что бы он выводил только первые 3, то он только их и выводит и выше не поднимается...
вот это и была перво начальная проблема, из-за чего я сюда и написал ))

  Ответить  
 
 автор: Alexey_Tihonenko   (18.09.2009 в 13:17)   письмо автору
 
   для: Aidaho   (18.09.2009 в 11:51)
 

Спасибо))
Тогда модифицируем последний вариант:

$db = mysql_connect(.........);
mysql_select_db(...............);


// Выводим первую тройку миниатюр из нужно альбома

$result  = mysql_query("SELECT * FROM foto WHERE id < $_GET['id'] and album_id = $_GET['album_id'] ODRED BY id DESC LIMIT 3");
while($myrow = mysql_fetch_array($result))
{
  //Собственно вывод миниатюр
  .........................................
}


//Выводим большую картинку

$result = mysql_query("SELECT * FROM foto WHERE id = $_GET['id']");
$myrow = mysql_fetch_array($result);

//Собственно вывод картинки
...................................................


// Выводим вторую тройку миниатюр из нужного альбома

$result = mysql_query("SELECT * FROM foto WHERE id > $_GET['id'] and album_id = $_GET['album_id'] ODRED BY id LIMIT 3");
while($myrow = mysql_fetch_array($result))
{
  //Собственно вывод миниатюр
  .........................................
}

  Ответить  
 
 автор: Aidaho   (18.09.2009 в 11:51)   письмо автору
 
   для: Alexey_Tihonenko   (18.09.2009 в 10:55)
 

да, все картинки в одной таблице
структура таблицы такая:
id-фотографии, айди альбома, фото, превью, описание, дата

вот и из нее надо как то выдирать...

приятного аппетита ))

  Ответить  
 
 автор: Trianon   (18.09.2009 в 11:48)   письмо автору
 
   для: Aidaho   (18.09.2009 в 09:15)
 

limit $countId[0] у Вас с какой целью приделан?

вместо него разумнее как раз барьеры поставить.

  Ответить  
 
 автор: Alexey_Tihonenko   (18.09.2009 в 10:55)   письмо автору
 
   для: Aidaho   (18.09.2009 в 10:47)
 

Тогда опишите по какому принципу должна формироваться лента из картинок.
У вас все картинки находятся в одной таблице?
А я пока съезжу на обед)

  Ответить  
 
 автор: Aidaho   (18.09.2009 в 10:47)   письмо автору
 
   для: Alexey_Tihonenko   (18.09.2009 в 10:06)
 

не подходит.. потому что id картинок идет не по прядку.... т.е. картинки с id 22 и 23 могут быть в разных альбомах...

  Ответить  
 
 автор: Alexey_Tihonenko   (18.09.2009 в 10:06)   письмо автору
 
   для: Aidaho   (18.09.2009 в 09:16)
 

Тогда можно вот как сделать:

$db = mysql_connect(.........);
mysql_select_db(...............);


// Выводим первую тройку миниатюр 

$result = mysql_query("SELECT * FROM foto WHERE id > ($_GET['id'] -4 ) and id < $_GET['id'] ");
while($myrow = mysql_fetch_array($result))
{
  //Собственно вывод миниатюр
  .........................................
}


//Выводим большую картинку

$result = mysql_query("SELECT * FROM foto WHERE id = $_GET['id']");
$myrow = mysql_fetch_array($result);

//Собственно вывод картинки
...................................................


// Выводим вторую тройку миниатюр 

$result = mysql_query("SELECT * FROM foto WHERE id > $_GET['id']  and id < ($_GET['id'] + 4) ");
while($myrow = mysql_fetch_array($result))
{
  //Собственно вывод миниатюр
  .........................................
}

  Ответить  
 
 автор: Aidaho   (18.09.2009 в 09:16)   письмо автору
 
   для: Alexey_Tihonenko   (18.09.2009 в 09:13)
 

да, будут нужны, предположительно около 2-4 строк

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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