Перейти к содержимому



Как можно реализовать такое?

#1 Lion

Lion
  • Неактивные
  • 39 сообщений
  • Репутация: 0
0

Отправлено 13 Август 2011 - 18:43

На хостинге лежит .txt файл, в нем есть строки такого вида 122435 nazvanie_faila или 543434 vtoroe_nazvanie

Нужно, что-бы в форме поиска на сайте при вводе 6 цифр (122435) выдавало nazvanie_faila. При вводе 543434 выдавало vtoroe_nazvanie

Надеюсь выразился понятно.

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Wordpress НЕ только для блога или создание различных типов сайтов на этой CMS
  2. Подскажите как реализовать такое
  3. Разный контент для пользователей из разных регионов
  4. Как организовать продажи на сайте?
  5. Как организовать партнерскую программу на сайте?

#2 ATS

ATS
  • Неактивные
  • 11 сообщений
  • Репутация: 0

Отправлено 14 Август 2011 - 10:13

При помощи php это можно просто реализовать.
  • 0

#3 xweb

xweb
  • Неактивные
  • 28 сообщений
  • Репутация: 0

Отправлено 14 Август 2011 - 10:15

нужно сам поиск сделать, то есть при нажатии выдавало название файла, или же подсказки при наборе текста в поле, как в яндексе или гугл?
  • 0

#4 ATS

ATS
  • Неактивные
  • 11 сообщений
  • Репутация: 0

Отправлено 14 Август 2011 - 10:19

Ой, немного не понял, если такая задача, то можно на javasсript написать.
  • 0

#5 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 Август 2011 - 11:16

Например, так...
Текстовый файл file.txt лежит в одной директории со скриптом (иначе - просто меняем путь к файлу в скрипте):
122435 nazvanie_faila
543434 vtoroe_nazvanie
Теперь сам скрипт index.php:
<?php

if($_POST['submit']){
$file = './file.txt'; // путь к файлу
$handle = file($file); // читаем содержимое файла в массив

$num = (int)trim($_POST['num']); // получаем данные из формы
$flag = FALSE; // флаг результата поиска

/* проходимся по массиву */
foreach($handle as $item){
$search = explode(" ", $item); // разбиваем строку по разделителю - пробел
if($num == $search[0]){
// если совпадение числа есть
$result = $search[1]; // записываем в переменную строку рядом с числом
$flag = TRUE; // устанавливаем флаг результата в "найдено"
}
}

if($flag){
// если найдено - выводим результат
echo $result;
}else{
// иначе
echo 'Ничего не найдено';
}
}

?>

<form method="post">
Введите цифры: <input type="text" name="num" />
<input type="submit" name="submit" value="Поиск" />
</form>

Все откомментировал - так что доработать под свои нужды будет не особо сложно.
  • 0


#6 ATS

ATS
  • Неактивные
  • 11 сообщений
  • Репутация: 0

Отправлено 14 Август 2011 - 23:41

Так это не будет работать так сказать в онлайн режиме!


  • 0

#7 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Август 2011 - 06:13

Ух ты - а я и не знал :P
Оказывается серверный язык PHP не работает как клиентский ))
Сори за небольшой "укол", но покажите мне, где ТС говорил о том, что он хочет реализовать все асинхронно. ТС спросил как - ему ответили... заметьте, ответили не типа того, что:

При помощи php это можно просто реализовать.
(Супер комментарий - прям полностью решающий задачу :) )

а было предоставлено вполне работающее решение, полностью отвечающее описанной задаче.
  • 0



Оформление форума – IPBSkins.ru