|
|
|
|
|
для: Алл
(31.01.2005 в 06:08)
| | Накаркал.
У меня появился еще один вопрос.
Как сделать так, чтобы на одну страницу выводилось не более 30 фотографий, а остальные выводились на след. странице того же вывода? А то одно ключевое слово соответствует аж 45 фоткам (и места много занимает, и грузиться дольше) | |
|
|
|
|
|
|
|
для: cheops
(26.01.2005 в 11:25)
| | Все работает, огромное спасибо.
P.S. Извините, что так долго пытался разобраться. | |
|
|
|
|
|
|
|
для: Алл
(26.01.2005 в 06:13)
| | А нет, я имел ввиду
<html>..........
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$photo_path = array();
// Имя файла с путями к фотографиям и ключевыми словами
$filename = "base.txt";
// Помещаем содержимое файла в массив $photo_line
$photo_line = file($filename);
// Проверяем то, что передано в форме
// дабы исключить взлом
$_GET['name'] = str_replace("."," ",$_GET[name]);
$_GET['name'] = str_replace("'"," ",$_GET[name]);
$_GET['name'] = str_replace('"'," ",$_GET[name]);
if(empty($_GET['name']))
{
exit ("Текстовое поле осталось не заполненным - введите слово для поиска");
}
// В цикле ищем вхождения
foreach($photo_line as $lines)
{
// Проверяем входит ли в состав строки искомое
// слово - если входит - запоминаем его номер.
if(preg_match("|".$_GET['name']."|i", $lines))
{
$path = substr($lines,0,strpos($lines," "));
$photo_path[] = $path;
}
}
$cut = 1;
echo "<table>";
if(empty($photo_path))
{
exit("К сожалению ничего не найдено. Попробуйте другие ключевые слова.");
}
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($cut == 1) echo "<tr>";
// Формируем ссылку на HTML-страницу
$pathh = substr($pathp,0,strlen($pathp)-4).".htm";
echo "<td><div align=center><a href=$pathh><IMG src=$pathp width=175 height=118 border=0></a><br></div></td>";
$cut++;
if($cut == 3)
{
echo "</tr>";
$cut = 1;
}
}
echo "</table>";
?>
......</html>
|
| |
|
|
|
|
|
|
|
для: cheops
(25.01.2005 в 14:13)
| |
<html>..........
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$photo_path = array();
// Имя файла с путями к фотографиям и ключевыми словами
$filename = "base.txt";
// Помещаем содержимое файла в массив $photo_line
$photo_line = file($filename);
// Проверяем то, что передано в форме
// дабы исключить взлом
$_GET['name'] = str_replace("."," ",$_GET[name]);
$_GET['name'] = str_replace("'"," ",$_GET[name]);
$_GET['name'] = str_replace('"'," ",$_GET[name]);
if(empty($_GET['name']))
{
exit ("Текстовое поле осталось не заполненным - введите слово для поиска");
}
// В цикле ищем вхождения
foreach($photo_line as $lines)
if(!empty($photo_path))
{
exit("К сожалению ничего не найдено. Попробуйте другие ключевые слова.");
}
{
// Проверяем входит ли в состав строки искомое
// слово - если входит - запоминаем его номер.
if(preg_match("|".$_GET['name']."|i", $lines))
{
$path = substr($lines,0,strpos($lines," "));
$photo_path[] = $path;
}
}
$cut = 1;
echo "<table>";
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($cut == 1) echo "<tr>";
// Формируем ссылку на HTML-страницу
$pathh = substr($pathp,0,strlen($pathp)-4).".htm";
echo "<td><div align=center><a href=$pathh><IMG src=$pathp width=175 height=118 border=0></a><br></div></td>";
$cut++;
if($cut == 3)
{
echo "</tr>";
$cut = 1;
}
}
echo "</table>";
?>
......</html>
|
Если так, то ошибки больше не выдает, но и результат о том, что фото не найдено и надо попробовать другие ключевые слова тоже.? | |
|
|
|
|
|
|
|
для: Алл
(25.01.2005 в 05:59)
| | Попробуйте после первого цикла foreach поставить код
<?php
if(!empty($photo_path))
{
exit("К сожалению ничего не найдено. Попробуйте другие ключевые слова.");
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops (из ННГУ)
(24.01.2005 в 18:18)
| | Да нет, что-то не помогает. Все по старому.! | |
|
|
|
|
автор: cheops (из ННГУ) (24.01.2005 в 18:18) |
|
|
для: Алл
(24.01.2005 в 14:35)
| | Хм...
<?php
$photo_path = array();
?>
|
в начале скрипта не помогло? | |
|
|
|
|
|
|
|
для: cheops
(24.01.2005 в 09:35)
| | А как быть со вторым вопросом? | |
|
|
|
|
|
|
|
для: Алл
(24.01.2005 в 06:54)
| | Можно примерно следующим образом
<html>..........
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$photo_path = array();
// Имя файла с путями к фотографиям и ключевыми словами
$filename = "base.txt";
// Помещаем содержимое файла в массив $photo_line
$photo_line = file($filename);
// Проверяем то, что передано в форме
// дабы исключить взлом
$_GET['name'] = str_replace("."," ",$_GET[name]);
$_GET['name'] = str_replace("'"," ",$_GET[name]);
$_GET['name'] = str_replace('"'," ",$_GET[name]);
if(empty($_GET['name']))
{
exit ("Текстовое поле осталось не заполненным - введите слово для поиска");
}
// В цикле ищем вхождения
foreach($photo_line as $lines)
{
// Проверяем входит ли в состав строки искомое
// слово - если входит - запоминаем его номер.
if(preg_match("|".$_GET['name']."|i", $lines))
{
$path = substr($lines,0,strpos($lines," "));
$photo_path[] = $path;
}
}
$cut = 1;
echo "<table>";
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($cut == 1) echo "<tr>";
// Формируем ссылку на HTML-страницу
$pathh = substr($pathp,0,strlen($pathp)-4).".htm";
echo "<td><div align=center><a href=$pathh><IMG src=$pathp width=175 height=118 border=0></a><br></div></td>";
$cut++;
if($cut == 3)
{
echo "</tr>";
$cut = 1;
}
}
echo "</table>";
?>
......</html>
|
| |
|
|
|
|
|
|
|
для: cheops
(21.01.2005 в 12:56)
| | Я немного подредактировал интерфейс вывода скрипта, т.е. вбил его в htm страничку и сделал , чтобы фотки выводились по центру. Теперь появились два незначительных вопроса.
<html>..........
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
// Имя файла с путями к фотографиям и ключевыми словами
$filename = "base.txt";
// Помещаем содержимое файла в массив $photo_line
$photo_line = file($filename);
// Проверяем то, что передано в форме
// дабы исключить взлом
$_GET['name'] = str_replace("."," ",$_GET[name]);
$_GET['name'] = str_replace("'"," ",$_GET[name]);
$_GET['name'] = str_replace('"'," ",$_GET[name]);
if(empty($_GET['name']))
{
exit ("Текстовое поле осталось не заполненным - введите слово для поиска");
}
// В цикле ищем вхождения
foreach($photo_line as $lines)
{
// Проверяем входит ли в состав строки искомое
// слово - если входит - запоминаем его номер.
if(preg_match("|".$_GET['name']."|i", $lines))
{
$path = substr($lines,0,strpos($lines," "));
$photo_path[] = $path;
}
}
// Выводим фотографии
foreach($photo_path as $pathp)
{
// Формируем ссылку на HTML-страницу
$pathh = substr($pathp,0,strlen($pathp)-4).".htm";
echo "<div align=center><a href=$pathh><IMG src=$pathp width=175 height=118 border=0></a><br></div>";
}
?>
......</html>
|
1. Как сделать чтобы фотографии выводились по три в горизонтали (а не по одной, как сейчас) ?
2. Если ключевое слово не найдено в базе выводится ошибка, необходимо опять через параметр if сделать так, чтобы если слово в базе не найдено, выводилось примерно следующие: На Ваш запрос ничего не обнаружено? Куда должен вставляться if ? и как примерно будет выглядеть строка? | |
|
|
|
|