Jump to content
  • 0

IE убрать на месте отсутствующего изображения "рамку с крестиком"


Avalon.
 Share

Question

Доброго времени суток.

В общем есть самодельная новостная книга, в нее выводятся новости в цикле из БД, при открытии полностью новости в ней находится от5 до 10 картинок, которые выводятся так:

<?php
$result=mysql_query("SELECT .............,photo1,photo2,......,photo10 FROM ...... WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);
printf("
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s' /></a>
...................................
"........... $myrow['photo1'],$myrow['photo1'], .............., $myrow['photo10'],$myrow['photo10']);
?>

то есть превьюшка, при клике на которую появл фулл картинка.

В бд создана таблица для картинок с 10 строками:

photo1

photo2

........

photo10

, где содержатся ссылки на них, ну типа img/group1/foto1.jpg

Так вот бывает когда всего изображений для данной новости к примеру 5. Соответственно в бд строки с 6 по 10 я не заполняю, и соответственно на странице мет опод них какбы резервируется, но в Опере и ФФ этого незаметн опрост опустое место.

А вот в ИЕ8 к примеру, появляется иконка -

cbc5eaefb0df.jpg

Вопрос в следующем, как можно сделать так чтобы не появлялся этот значок, а прсот обыло пусто место....

Edited by Avalon.
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Доброго времени суток.

В общем есть самодельная новостная книга, в нее выводятся новости в цикле из БД, при открытии полностью новости в ней находится от5 до 10 картинок, которые выводятся так:

<?php
$result=mysql_query("SELECT .............,photo1,photo2,......,photo10 FROM ...... WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);
printf("
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s' /></a>
...................................
"........... $myrow['photo1'],$myrow['photo1'], .............., $myrow['photo10'],$myrow['photo10']);
?>

то есть превьюшка, при клике на которую появл фулл картинка.

В бд создана таблица для картинок с 10 строками:

photo1

photo2

........

photo10

, где содержатся ссылки на них, ну типа img/group1/foto1.jpg

Так вот бывает когда всего изображений для данной новости к примеру 5. Соответственно в бд строки с 6 по 10 я не заполняю, и соответственно на странице мет опод них какбы резервируется, но в Опере и ФФ этого незаметн опрост опустое место.

А вот в ИЕ8 к примеру, появляется иконка -

cbc5eaefb0df.jpg

Вопрос в следующем, как можно сделать так чтобы не появлялся этот значок, а прсот обыло пусто место....

а почему нельзя просто проверять на существование файла?

Link to comment
Share on other sites

  • 0
Буду признателен если подскажите, я новичек в етом деле, вот что где нахватаюсь т ои по тихоньку применяю.

Подскажите строчку кода..

заранее спс

"

Сборник рецептов

1) Нам необходимо проверить существует ли тот или иной файл. Для этого мы воспользуемся функцией file_exists().

<?php

myfile("counter.txt"); // Используем функцию myfile, передав в качестве аргумента имя файла

function myfile($name) //Создаем функцию для проверки существования файла

{

if (file_exists($name)) echo 'Файл существует';

else echo "Файл не существует";

}

?>

Примечание: Функция file_exists не производит проверку файлов на удаленном веб-сервере. Для правильной работы функции, файл со скриптом должен находиться на том сервере, где и проверяемый файл.

"

http://www.php.su/articles/?cat=fs&page=005 - в середине.

Link to comment
Share on other sites

  • 0

Так теперь вопрос - у меня если к примеру код

<?php
$result=mysql_query("SELECT .............,photo1,photo2,......,photo10 FROM ...... WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);
printf("
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s' /></a>
...................................
"........... $myrow['photo1'],$myrow['photo1'], .............., $myrow['photo10'],$myrow['photo10']);
?>

я там напишу проверку,

if (file_exists($name)) - пишу имена 10 файлов в папке, так?

echo <a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s' /></a>

пишу ету строку 10 раз подряд для 10 фоток.

, но предположим у меня там не 10 файлов, а 7.

else

далее что писать???

Edited by Avalon.
Link to comment
Share on other sites

  • 0

Если честно немного непонятно, можете на примере этого кода -

<?php
$result=mysql_query("SELECT photo1,photo2,photo3 FROM img WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);

printf("
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s' /></a>
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s'/></a>
<a href='%s' rel='lightbox[roadtrip]'><img width='135px' height='90px' src='%s'/></a>
", $myrow['photo1'],$myrow['photo1'], $myrow['photo2'],$myrow['photo2'], $myrow['photo3'],$myrow['photo3']);

?>

показат проверку,

и если не сложно объяснить что делает данный код проверки, и что получим если не будет к примеру 3 фото, или 2 фото, а если и3 и 2.....

Что именно писатьв else?

Заранее спасибо

Link to comment
Share on other sites

  • 0
Если честно немного непонятно, можете на примере этого кода -


var $s;
for(int $i(0);$i<_QUO_;$i++){//цикл от 0 до константы - сколько будет картинок
$s=$myrow['photo'.$i];//получаем строчку
echo "<a href='".$s."' rel='lightbox[roadtrip]'>";
file_exists($s)?echo "<img width='135px' height='90px' src='".$s."' />":echo "";
/* конструкция называется - тернарный оператор
до знака вопроса пишется булево(логическое) выражение
после знака вопроса- что делать, если условие верно
после : - если не верно

к картинкам по-хорошему нужно alt дописывать
закрывать теги self-closing надо с пробелом перед слешом
*/
echo "</a>";

}

вообще говоря, это уже никак не верстка.

Edited by tt48
Link to comment
Share on other sites

  • 0
вообще говоря, это уже никак не верстка.

а что то будет =) ???

воде вставил этот код, но чето не получется пока что.... видно мне еще расти и расти......

кстати а насчет моего вопроса в 1 посте, так можно или нет скрыть иконку с крестиком при осутствии изображения?

Link to comment
Share on other sites

  • 0
а что то будет =) ???

воде вставил этот код, но чето не получется пока что.... видно мне еще расти и расти......

кстати а насчет моего вопроса в 1 посте, так можно или нет скрыть иконку с крестиком при осутствии изображения?

не думаю, что это возможно.

Вполне возможно, где-то ошибся -

постоянно забываю про знаки доллара или еще какие мелочи.

Edited by tt48
Link to comment
Share on other sites

  • 0

Для теста записал ваш код след образом:

<?php
$result=mysql_query("SELECT photo1,photo2,photo3,photo4,photo5,photo6,photo7,photo8,photo9,photo10 FROM img WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);

var $s;
for(int $i(0);$i<10;$i++){//цикл от 0 до константы - сколько будет картинок
$s=$myrow['photo'.$i];//получаем строчку
echo "<a href='".$s."' rel='lightbox[roadtrip]'>";
file_exists($s)?echo "<img width='135px' height='90px' src='".$s."' />":echo "";
/* конструкция называется - тернарный оператор
до знака вопроса пишется булево(логическое) выражение
после знака вопроса- что делать, если условие верно
после : - если не верно

к картинкам по-хорошему нужно alt дописывать
закрывать теги self-closing надо с пробелом перед слешом
*/
echo "</a>";


?>

получаю ошибку

Parse error: syntax error, unexpected T_VAR in X:\home\.........\www\view.php on line 45

45 строчка ето как раз строка var $s;

подскажите что не так?

Link to comment
Share on other sites

  • 0
Для теста записал ваш код след образом:

<?php
$result=mysql_query("SELECT photo1,photo2,photo3,photo4,photo5,photo6,photo7,photo8,photo9,photo10 FROM img WHERE id='$id'",$dbcnx);
$myrow=mysql_fetch_array($result);

var $s;
?>

получаю ошибку

Parse error: syntax error, unexpected T_VAR in X:\home\.........\www\view.php on line 45

45 строчка ето как раз строка var $s;

подскажите что не так?

мммм... видимо var не нужно.. Сорри, "под шарпом сижу, далеко гляжу.."(с)

Если подробней - так переменные в php не объявляются -

никаких ключевых слов не надо при объявлении.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy