|
|
|
| Посмотри ссылку:
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1625&page=1 | |
|
|
|
|
|
|
|
для: Алл
(02.02.2005 в 05:54)
| | Попробуйте вот этот скрипт. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2005 в 01:32)
| | Есть некоторые недочеты в скрипте.
<?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("К сожалению ничего не найдено. Попробуйте другие ключевые слова.");
}
// Число фотографий на одной странице
$pnumber = 2;
// Стартовая точка
if(empty($_GET['start'])) $start = 1;
else $start = $_GET['start'];
// Общее число фотографий в результатах поиска
$total = count($photo_path);
// Счётчик
$j = 1;
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($j <= $start) countinue;
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;
}
if($j > $start + $pnumber) break;
}
echo "</table>";
// Выводим ссылки на другие темы
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
echo "<tr><td class=bottomtabletema colspan=5><div class=leftblock><p class=texthelp>Сообщения: ";
for($i = 1; $i<=$number; $i++)
{
if($number == $i)
{
echo "<a href=search.php?start=$start&name=".$_GET[name].">[".(($i - 1)*$pnumber + 1)."-$total]</a>";
}
else
{
echo "<a href=search.php?start=$start&name=".$_GET[name].">[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a>";
}
}
?>
|
Если выводиться всего три фотографии, то появляются окошки [1-2][3-3] , а как сделать, чтобы вторая появлялась при больше 30 фоток. Допустим при 26- [1-26], при 13- [1-13], при 42- [1-30][31-42].Вот примерно так реально?
И эти ссылки [.....] [......] при выводе скрипта портят html код который находиться слева (внедряясь туда), чтобы этого не было, надо изменить строчку.
echo "<tr><td class=bottomtabletema colspan=5><div class=leftblock><p class=texthelp>Сообщения: ";
|
на
echo "<tr><td class=bottomtabletema colspan=5><div class=centerblock><p class=texthelp>Сообщения: ";
|
Да? | |
|
|
|
|
|
|
|
для: Алл
(07.02.2005 в 06:59)
| | 1) Первое легко настраивается (я просто оставил для теста) найдите в скрипте строку
<?php
// Число фотографий на одной странице
$pnumber = 2;
?>
|
и измените её на
<?php
// Число фотографий на одной странице
$pnumber = 30;
?>
|
2)Со вторым вопросом лучше обратиться на http://www.softtime.ru/forum/index.php?id_forum=4 - дизайн это уже не по моей части :))) | |
|
|
|
|
|
|
|
для: cheops
(07.02.2005 в 09:22)
| | Вроде разобрался, У меня еще есть вопрос, к этой теме он явно не относиться, но все же.
Могу ли я вставлять JS в PHP и будет ли от этого меняться смысл (вопрос по баннерам). Допустим Есть страница ban.php вида
<?php
JavaScript //идет код баннера
?>
|
После все это может включиться во все страницы внизу примерно так?
<?php
include "ban.php";
?>
|
| |
|
|
|
|
|
|
|
для: Алл
(09.02.2005 в 06:22)
| | Да можно, но к JS следует относится как к обычному HTML, т.е. либо выводить его в не тэгов <?php ?>, либо при помощи операторов echo, print и т.п. | |
|
|
|
|
|
|
|
для: Алл
(09.02.2005 в 06:22)
| | Только небольшая поправка.
<?php
echo "JavaScript //идет код баннера";
?>
|
В данном случае вы будете вынуждены отслеживать применение кавычек, так как они у вас уже используются в операторе echo.
Второй способ лишен этих недостатков.
<?php
include "ban.php";
?>. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(09.02.2005 в 11:31)
| | ок, насчет баннеров все понятно, ну а с моими баранами опять проблемма.
Почему в выводе фоток из скрипта надпись допустим: Сообщения [1-16] [17-17]наезжает на последние выведенные фотографии?
Я чуть изменил строчку
echo "<tr><td class=bottomtabletema colspan=5><div class=leftblock><p class=texthelp>Сообщения: ";
|
на
echo "<tr><td class=bottomtabletema colspan=5><div align=center class=leftblock><p class=texthelp>Сообщения: ";
|
может поэтому?
И почему независимо сколько выставляю $pnumber = все фото появляются на одной странице, меняются только вид допустим: Сообщения [1-16] [17-17] при17 фоток при $pnumber =16; и т.д. (а фото так и рассполагаються на одной странице) | |
|
|
|
|
|
|
|
для: Алл
(10.02.2005 в 06:07)
| | cheops что делать? | |
|
|
|
|
|
|
|
для: Алл
(10.02.2005 в 06:07)
| | Хм... вообще-то не должно быть так: оба условия if в цикле foreach присутствуют? | |
|
|
|
|
|
|
|
для: cheops
(11.02.2005 в 07:16)
| | Тогда в чем ошибка? | |
|
|
|
|
|
|
|
для: Алл
(11.02.2005 в 13:48)
| | Хм... а не могли бы вы приложить к сообщению файл с тем, что сейчас есть, может где-нибудь затирается переменная? | |
|
|
|
|
|
|
|
для: cheops
(11.02.2005 в 22:07)
| | Прикрепляю файл полностью в каком сейчас он виде | |
|
|
|
|
|
|
|
для: Алл
(14.02.2005 в 06:19)
| | Есть какие-нибудь мысли по этому поводу? | |
|
|
|
|
|
|
|
для: Алл
(15.02.2005 в 06:02)
| | Спасибо, что напомнили о себе :)))
Исправьте пожалуйста блок
<?php
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($j <= $start) countinue;
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;
}
if($j > $start + $pnumber) break;
}
?>
|
на
<?php
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($j <= $start) countinue;
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;
}
if($j > $start + $pnumber) break;
$j++;
}
?>
|
| |
|
|
|
|
 2.5 Кб |
|
|
для: cheops
(15.02.2005 в 12:28)
| | Заменил, но все осталось по старому (все фото на одной странице)
Зато наконец-то разобрался с дизайном. Прилагаю файл с тем что есть. | |
|
|
|
|
|
|
|
для: Алл
(17.02.2005 в 08:28)
| | Попробуйте переправить блок
<?php
// Счётчик
$j = 1;
// Выводим фотографии
foreach($photo_path as $pathp)
{
if($j <= $start) countinue;
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;
}
if($j > $start + $pnumber) break;
$j++;
}
?>
|
на
<?php
// Счётчик
$j = 0;
// Выводим фотографии
foreach($photo_path as $pathp)
{
$j++;
if($j <= $start) countinue;
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;
}
if($j > $start + $pnumber) break;
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.02.2005 в 08:56)
| | Все осталось по старому :( | |
|
|
|
|
|
|
|
для: Алл
(18.02.2005 в 06:08)
| | Хм... вообще говоря странно. Попробуйте в самом начае злополучно цикла foreach вывести значение
<?php
echo ($j - $start)." - ".$pnumber."<br>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.02.2005 в 12:51)
| | Поместил, скрипт выдает вообще какую то галематью типа
-1-1
0-2
и т.д.
потом идут фотографии. | |
|
|
|
|
|
|
|
для: Алл
(21.02.2005 в 05:01)
| | Хм... странно, т.е. $pnumber изменяется в каждом цикле... вроде бы негде - в качестве последней цифры идёт $pnumber или $j? | |
|
|
|
|
|
|
|
для: cheops
(21.02.2005 в 09:32)
| | вроде $pnumber | |
|
|
|
|
|
|
|
для: Алл
(21.02.2005 в 12:00)
| | хотя в новом скрипте фото стали выводиться $pnumber-1 когда идет разграничение уже на вторую страницу (но по прежнему выводятся фсе фото (теперь за исключением последней)) | |
|
|
|
|
|
|
|
для: Алл
(22.02.2005 в 06:05)
| | Выложите пожалуйста ещё раз то, что сейчас есть - я попробую потестировать на своей машине. | |
|
|
|
|
 2.5 Кб |
|
|
для: cheops
(22.02.2005 в 09:50)
| | Выкладываю то, что сейчас есть. | |
|
|
|
|
|
|
|
для: Алл
(22.02.2005 в 12:21)
| | Так в чем ошибка скрипта? | |
|
|
|
|
|
|
|
для: Алл
(24.02.2005 в 06:43)
| | Попробуйте вот это скрипт | |
|
|
|
|
|
|
|
для: cheops
(24.02.2005 в 10:03)
| | Скрипт стал работать по страничкам как надо, только появилась такая ошибка. Он не выводит последнюю фотографию на каждой странице. (хотя умерация выводиться правильно). Допустим фоток 17 на первой страничке [1-16] выводиться 15 фотографий, а на второй [17-17] ни одной. | |
|
|
|
|
|
|
|
для: Алл
(25.02.2005 в 06:25)
| | Как быть? | |
|
|
|
|
|
|
|
для: Алл
(25.02.2005 в 12:24)
| | Хм... а вы не можете выложить файл base.txt с этими 17 фотографиями? | |
|
|
|
|
|
|
|
для: cheops
(25.02.2005 в 12:39)
| | Допустим вот фото на всю природу. | |
|
|
|
|
|
|
|
для: Алл
(25.02.2005 в 13:36)
| | Попробуйте этот вариант. | |
|
|
|
|
|
|
|
для: cheops
(25.02.2005 в 22:33)
| | Попробовал. Тут такое дело. Когда запросу соответствуют 16 и более фоток, первая страница выодиться как положенно, но вторая опять на одну меньше. Допустим фоток удовлетворяющих запрос 19. На первой странице [1-16] и выводиться все правильно, а на второй [17-19], а выводиться всего две. Такая же ситуация и если фоток меньше 16, допустим три, получается что [1-3] а выводиться всего две | |
|
|
|
|
|
|
|
для: Алл
(02.03.2005 в 06:09)
| | ошибка не может быть в цикле foreach? | |
|
|
|
|
|
|
|
для: Алл
(02.03.2005 в 10:39)
| | Посмотрите пожалуйста. | |
|
|
|
|
|
|
|
для: Алл
(03.03.2005 в 06:11)
| | Я помню, просто вчера что-то не разобрался... мистика какая-то, буду разбираться сегодня (нужно было обязательно выспаться). | |
|
|
|
|
|
|
|
для: cheops
(03.03.2005 в 06:49)
| | Попробуйте вот этот вариант
PS Если что-то не заладится - заведите, пожалуйста, новую тему, а то это уже слишком длиная. | |
|
|
|
|
|
|
|
для: Алл
(02.02.2005 в 05:54)
| | У меня есть кое какой скрипт:
В работе скрипт можно посмотреть по адресу:
http://webmasteram.wallst.ru/fons.htm | |
|
|
|