Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 08:38   #1
Svetix
Пользователь
 
Аватар для Svetix
 
Регистрация: 27.03.2009
Сообщений: 28
По умолчанию Как грамотно вывести из базы превьюшки?

Всем доброго времени суток!
Подскажите, как грамотно вывести информицию из базы!
Есть сайт с фотографиями, которые поделены на разные категории,
за вывод фоток по категориям отвечает файл view_cat.php
Блок когда с выводом выглядит так:
PHP код:
<?php

$result 
mysql_query("SELECT id,title,mini_img,img FROM data WHERE cat='$cat'",$db);
        

if (!
$result)
{
echo 
"<p>Запрос на выборку данных из базы не прошел! Напишите об этом администратору svetix@nm.ru.<br> <strong>Код ошибки:</strong> </p>";
exit (
mysql_error());
}

if (
mysql_num_rows($result)> 0)
{

$myrow  mysql_fetch_array($result);
do
{
printf ("<span id='coolmenu1'><a href='%s' rel='lightbox[street]' title='%s'><img src='%s'></a></span>",$myrow["img"],$myrow["title"],$myrow["mini_img"]);

}
while (
$myrow  mysql_fetch_array($result));
}


else 
{
echo 
"<p>В данной категории пока нет фотографий.</p>";
exit ();
}

?>
Соответственно, стиль css для вывода выглядит так:
Код:
#coolmenu1{
width: 90%; /*Ширина меню */
background-color: #000000;  /*Фоновый цвет ячейки*/
margin-right:20px;
margin-left:20px;
}

#coolmenu1 a{

font:16px Century Gothic; /*Шрифт текста*/
padding:5px; /*Внутренний отсутп текста ссылки от краев ячейки*/
border:0px;
text-decoration: none; /*Подчеркивание у ссылок - нет*/
}

#coolmenu1 a img{
border:0px;
padding-top:30px;
padding-bottom:10px;
}
Информация из базы выводится....
Есть скрин как это отображается.
Но как видите в IE отступы съехали, если делать чтоб в IE все отображалось хорошо, то съезжает в Опере...да еще и если разное разрешение экрана, то тоже все съезжает
Подскажите, как сделать одиноковое правило для всех вариантов, чтобы допустим вывод из базы был оформлен как-то универсально!
Буду очень рада Вашей помощи!
Изображения
Тип файла: jpg a.jpg (28.9 Кб, 141 просмотров)
Svetix вне форума Ответить с цитированием
Старый 27.03.2009, 10:13   #2
jeka5555
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 43
По умолчанию

Ну во-первых ты ставишь
Код:
width: 90%; /*Ширина меню */
что применяется для каждого тега <span>. Правильно будет весь блок картинок заключить в тег, например - div и width: 90% применять к нему.
Во-вторых ты ставишь margin-right:20px; и margin-left:20px; в итоге получается, что у тебя съезжают картинки с новой строки, лучше сделать так: margin-right:40px; и margin-left:0px;

Вот твой код, в правильно виде:
PHP код:
<?php 

$result 
mysql_query("SELECT id,title,mini_img,img FROM data WHERE cat='$cat'",$db); 
         

if (!
$result

echo 
"<p>Запрос на выборку данных из базы не прошел! Напишите об этом администратору svetix@nm.ru.<br> <strong>Код ошибки:</strong> </p>"
exit (
mysql_error()); 


if (
mysql_num_rows($result)> 0


$myrow  mysql_fetch_array($result); 

?><div class="images"><?php
do 

printf ("<span id='coolmenu1'><a href='%s' rel='lightbox[street]' title='%s'><img src='%s'></a></span>",$myrow["img"],$myrow["title"],$myrow["mini_img"]); 


while (
$myrow  mysql_fetch_array($result)); 
?></div><?php




else  

echo 
"<p>В данной категории пока нет фотографий.</p>"
exit (); 


?>
И стили:
Код:
.images {width: 90%; /*Ширина меню */ padding-left:20px; /* Отступ блока слева */}
.images span {
background-color: #000000;  /*Фоновый цвет ячейки*/
margin-right:40px;
margin-left:0px;
}
.images a {
font:16px Century Gothic; /*Шрифт текста*/
padding:0px; /*Внутренний отсутп текста ссылки от краев ячейки*/
border:0px;
text-decoration: none; /*Подчеркивание у ссылок - нет*/
}

.images a img{
border:0px;
padding-top:30px;
padding-bottom:10px;
}
кстати, id='coolmenu1' можно убрать, если конечно это у тебя в скриптах где-нибудь не используется. Да, и зачем тебе тег "rel" ? ты знаешь зачем он нужен вообще?
jeka5555 вне форума Ответить с цитированием
Старый 27.03.2009, 14:53   #3
Svetix
Пользователь
 
Аватар для Svetix
 
Регистрация: 27.03.2009
Сообщений: 28
По умолчанию

Огромное спасибо, все переделала, все теперь прекрасно отображается и ничего не съезжает!!!
идентификатор для span убрала, нигде он мне не нужен!
а по поводу rel='lightbox[street]' , это атрибут тега a. У меня прикручен скрипт лайтбокс, для просмотра фоток, так вот этот атрибут и отвечает за открытие фотки уже большого варианта.
Думаю правильно ответила!
Еще раз огромное спасибо за ответ!!!
Svetix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу вывести данные из базы Access'a Ce4kok БД в Delphi 4 25.01.2009 19:20
Как грамотно сделать описание к проге? chandrasecar Общие вопросы Delphi 1 20.11.2008 22:23
как вывести число qwerty34 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 25.08.2008 14:14
Как грамотно разделить данные между потоками? bagulma Общие вопросы Delphi 5 28.05.2008 22:41
Как грамотно загружать языковые файлы в приложение? apromix Общие вопросы Delphi 11 09.05.2008 21:06