Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2017, 13:23   #1
Совчик
 
Регистрация: 11.07.2017
Сообщений: 4
По умолчанию Вывод данных из таблицы с разбивкой и установки ссылок

Добрый день!
Может кто-нибудь помочь мне в написании блока программы на PHP?
Проблема в следующем.
В базе MySQL в ячейке данные хранятся примерно в таком виде:
Английский_язык||Французский_язык|| Испанский_язык||

Мне надо, чтобы на выводе в файл PHP получалась конструкция такого вида:
Код HTML:
<a href=search.php?razdel=Английский>Английский язык</a> - <a href=search.php?razdel=Французский>Французский язык</a> - <a href=search.php?razdel=Испанский>Испанский язык</a>
Возможно, это делается легко и просто, но я, честно говоря, затрудняюсь.

Правда, почему-то программа форума лишние пробелы ставит...

Последний раз редактировалось Serge_Bliznykov; 11.07.2017 в 13:29.
Совчик вне форума Ответить с цитированием
Старый 11.07.2017, 13:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Английский_язык||Французский_язык|| Испанский_язык
в базе _ или пробелы ?

И откуда брать имя раздела (ну это "razdel=Испанский")
это то, что у Вас до пробела ( ну или до _ )?

ну, в принципе, это можно на PHP написать.

а вообще, как только возникают подобные проблемы, это сразу говорит о том, что БД плохо спроектировано...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2017, 14:57   #3
Совчик
 
Регистрация: 11.07.2017
Сообщений: 4
По умолчанию

В базе подчеркивание.
Имя раздела - первое слово (до подчеркивания)
Совчик вне форума Ответить с цитированием
Старый 11.07.2017, 15:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пробуйте:
Код:
<?php
$text = "Английский_язык||Французский_язык|| Испанский_язык||";

$s='';
foreach (explode("||", $text) as $oneline){
  $one=trim($oneline);
  if(strlen($one)>0){
    $tmp=explode("_", $one);
    if(strlen($s)>0)
      $s.=' - ';     
    $s .= '<a href=search.php?razdel=';
    if(count($tmp)>1){
       $s .= $tmp[0];
    }else{
       $s .= $one;
    }
    $s .= '>'.$one.'</a>';
  }
}

echo $s;
?>
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2017, 16:27   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

PHP код:
<?php
$text 
"Английский_язык||Французский_язык|| Испанский_язык||";
$tmpl "<a href='search.php?razdel=%lng%'>%lng%</a>";
foreach (
explode("||"$text) as $a){
    if (!empty(
$a)) $lng[] = str_replace("%lng%",trim(mb_substr($a,0,mb_strpos($a,"_"))),$tmpl);
}
echo 
implode(" - ",$lng);
?>
ADSoft вне форума Ответить с цитированием
Старый 11.07.2017, 16:35   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ADSoft, небольшое уточнение.
Может быть, Вы не обратили внимание, что для поиска используется название языка, а в качестве текста - целиком название языка.

Например, у Вас:
Цитата:
Код:
<a href="search.php?razdel=Английский">Английский</a>
у TC:
Цитата:
Код:
<a href=search.php?razdel=Английский>Английский язык</a>
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2017, 17:31   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

угу... там несложно добавить
а ваще да..... стока гемора из-за тупого планирования БД
что мешало языки записывать в отдельные строки итд)))
ADSoft вне форума Ответить с цитированием
Старый 11.07.2017, 18:58   #8
Совчик
 
Регистрация: 11.07.2017
Сообщений: 4
По умолчанию

Serge_Bliznykov, спасибо! Все работает!
Совчик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных с БД с разбивкой по 30 строчек на wordpress sashacoolboy WordPress и другие CMS 1 12.04.2017 09:23
Вывод данных из таблицы Ruslan320 Python 3 16.03.2017 21:41
Delphi - вывод всех данных с таблицы ridek БД в Delphi 5 30.07.2015 20:56
Вывод данных из таблицы на userform timesoon Microsoft Office Excel 2 27.04.2012 19:53
Вывод данных из таблицы в форму, в поле со списком Alex-Onis Microsoft Office Access 9 21.10.2010 14:32