Нужна подсказа в PHP (вывод определенного куска)

12
[Удален]
1048

Просьба помочь...

Есть страница file.php с кодом:

============================

ddd333

- текст текст

ddd444

- текс2 текст2

============================

Например делается запрос: http://site.com/file.php?id=ddd333

должен появиться ТОЛЬКО текст: текст текст

при запросе: http://site.com/file.php?id=ddd444

должен появиться ТОЛЬКО текст: текс2 текст2

подскажите, какой код должен быть в фале file.php?

Заранее благодарю!

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

http://php.net/manual/en/control-structures.switch.php


switch ($_GET['id']) {
case ddd333:
echo "- текст текст";
break;
case ddd444:
echo "- текс2 текст2";
break;

}

и т.д.

Конечно лучше это всё распихать по файлам и уже там делать поиск.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
DkWix
На сайте с 04.11.2007
Offline
75
#2

опередили...

[Удален]
#3

Огромнейшее спасибо!!

[Удален]
#4
LEOnidUKG:
case ddd333:

кавычки если не ошибаюсь нужны... Т.е case "ddd333":

LEOnidUKG:
лучше это всё распихать по файлам

Лучше в базу

[Удален]
#5
wano-moroz:
кавычки если не ошибаюсь нужны... Т.е case "ddd333":
Кавычки уже добавил.

Лучше в базу

Есть какая-то опасность? Или нагрузка?

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#6
Kimochi:
Есть какая-то опасность? Или нагрузка?

Да никакой, просто если у вас 1000 таких строк, явно case для каждого делать глупо.

leprekon
На сайте с 13.05.2010
Offline
27
#7

Можете в массив засунуть:

$a = array (

'ddd333' => 'текст',
'ddd444' => 'текст 1'
);

echo $a[$_GET['id']];
[Удален]
#8
Kimochi:
какая-то опасность? Или нагрузка?

Удобство и расширяемость. (тут главный вопрос сколько надо текстов и каких они размеров)

4arger
На сайте с 17.12.2008
Offline
95
#9

можно тхт-файл использовать вместо базы, если с базами туговато.


$data = file_get_contents("baze.txt");
preg_match("/".$_GET['id'].";(.*)".PHP_EOL."/", $data, $matches);
echo $matches[1];

хранить например так:


ddd333;текст текст
ddd444;текс2 текст2
[Удален]
#10

4arger, регулярка затратно при больших объёмах, есть пути и попроще

Например (как я понимаю текст в HTML) закидывать в базу построчно

текст1<br>такой крутой текст
текст2<br>такой крутой текст

<?php
// читаем файл
$base = file('base.txt');
// © разврат из http://www.php.ru/forum/viewtopic.php?p=240873#240873
$id = 0+@$_GET['id'];
// Выводим вайл
echo $base[$id];
?>

тогда по адресу http://site.com/file.php?id=0 будет "текст1<br>такой крутой текст" по адресу http://site.com/file.php?id=1 будет "текст2<br>такой крутой текст"

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий