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

Форум PHP

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

 

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

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

тема: Ссылка в выводе скрипта

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

 
 автор: Алл   (01.02.2005 в 10:52)   письмо автору
 
   для: Алл   (31.01.2005 в 06:08)
 

Накаркал.
У меня появился еще один вопрос.
Как сделать так, чтобы на одну страницу выводилось не более 30 фотографий, а остальные выводились на след. странице того же вывода? А то одно ключевое слово соответствует аж 45 фоткам (и места много занимает, и грузиться дольше)

   
 
 автор: Алл   (31.01.2005 в 06:08)   письмо автору
 
   для: cheops   (26.01.2005 в 11:25)
 

Все работает, огромное спасибо.

P.S. Извините, что так долго пытался разобраться.

   
 
 автор: cheops   (26.01.2005 в 11:25)   письмо автору
 
   для: Алл   (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>

   
 
 автор: Алл   (26.01.2005 в 06:13)   письмо автору
 
   для: 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>

Если так, то ошибки больше не выдает, но и результат о том, что фото не найдено и надо попробовать другие ключевые слова тоже.?

   
 
 автор: cheops   (25.01.2005 в 14:13)   письмо автору
 
   для: Алл   (25.01.2005 в 05:59)
 

Попробуйте после первого цикла foreach поставить код
<?php
  
if(!empty($photo_path)) 
  {
     exit(
"К сожалению ничего не найдено. Попробуйте другие ключевые слова.");
  }
?>

   
 
 автор: Алл   (25.01.2005 в 05:59)   письмо автору
 
   для: cheops (из ННГУ)   (24.01.2005 в 18:18)
 

Да нет, что-то не помогает. Все по старому.!

   
 
 автор: cheops (из ННГУ)   (24.01.2005 в 18:18)
 
   для: Алл   (24.01.2005 в 14:35)
 

Хм...
<?php
$photo_path 
= array(); 
?>

в начале скрипта не помогло?

   
 
 автор: Алл   (24.01.2005 в 14:35)   письмо автору
 
   для: cheops   (24.01.2005 в 09:35)
 

А как быть со вторым вопросом?

   
 
 автор: 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>

   
 
 автор: Алл   (24.01.2005 в 06:54)   письмо автору
 
   для: 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 ? и как примерно будет выглядеть строка?

   

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

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

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