|
|
|
|
<?php
$sql = "SELECT CONCAT_WS('<br>',td.name,n.title) AS book_name, n.nid nnid, td.tid
tt, th.parent tp
FROM {node} n
JOIN {term_node} tn ON tn.nid=n.nid
JOIN {term_data} td ON td.tid = tn.tid
JOIN {term_hierarchy} th ON td.tid = th.tid
WHERE td.vid=%d AND th.parent <>0 AND n.type='library'";
?>
|
У меня сейчас на страницу выводится <br>, он не меняется на разрыв строки:
Запись1<br>запись 2
А надо, чтобы было так:
Запись1
Запись2
Как убрать <br>? | |
|
|
|
|
|
|
|
для: Лена
(06.07.2009 в 16:48)
| | здесь нет никакого вывода.
Только текст SQL-запроса.
Если впоследствии текст передается кодами html, имеет смысл поставить CONCAT_WS("\r\n", a, b)
Или что то же самое, но понятней - CONCAT(a, "\r\n", b) | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2009 в 20:30)
| | У меня что-то ни первый вариант не работает, ни второй. Два столбца, которые получаются в результате выборки из базы, выводятся в одну строку.
Смотрите, вот вся функция, она небольшая:
<?php
function new_book_block($op='list', $delta=0) {
//админ-часть блока
if($op=='list'){
$block["info"] = t("Book");
return $block;
}
//контент блока
else if ($op == 'view') {
$block = array();
$sql = "SELECT CONCAT(td.name,'\r\n',n.title) AS book_name, n.nid nnid, td.tid tt, th.parent tp
FROM {node} n
JOIN {term_node} tn ON tn.nid=n.nid
JOIN {term_data} td ON td.tid = tn.tid
JOIN {term_hierarchy} th ON td.tid = th.tid
WHERE td.vid=%d AND th.parent <>0 AND n.type='library'";
$result = db_query_range($sql,9,0,3);
if(!$result) return drupal_not_found();
while ($new_book = db_fetch_object($result))
$block_content[] = "<a href = 'library/$new_book->tp/$new_book->tt/$new_book->nnid'>" .
$new_book->book_name . "</a><br>";
if($block_content==''){
return;
}else{
//отобразить блок
$block['subject'] = 'Our block';
$block['content'] = $block_content;
}
}
return $block;
}
?>
|
Уже думаю, может выбрать по отдельности эти два столбца и поставить между ними <br> или \r\n | |
|
|
|
|
|
|
|
для: Лена
(06.07.2009 в 23:20)
| | Лена, Вы так и не привели, а где собственно вывод происходит! | |
|
|
|
|
|
|
|
для: GeorgeIV
(07.07.2009 в 09:41)
| | Вывод идет через шаблон, в том-то и дело, что там ничего подозрительного нет.
Вот шаблон этого блока:
<?php
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?> unstyled-block">
<?php if ($block->subject): ?>
<h4><?php print $block->subject; ?></h4>
<?php endif;?>
<div class="content"><?php print $block->content ?></div>
</div>
?>
|
| |
|
|
|
|
|
|
|
для: Лена
(07.07.2009 в 10:53)
| | \r\n в html не даст перевода строки, надо использовать <br>.
Посмотрите, может где то по дороге происходит экранирование html-тэгов, или их исключение из запроса.
Посмотрите исходный текст полученной HTML страницы - что там реально стоит между столбцами? | |
|
|
|
|
|
|
|
для: GeorgeIV
(07.07.2009 в 13:12)
| | Можно сказать, извратилась.
Перед самим выводом делаю в шаблоне замену:
$text = preg_replace('/<br>/','<br>',$content);
И на странице - как надо, в две строки
Есть где-то фильтр(скорее всего, с htmlspecialchars()), который конвертирует<br> в <br> , только я его никак не могу найти. | |
|
|
|
|
|
|
|
для: Лена
(07.07.2009 в 15:30)
| | Тогда действительно может лучше выбирать два столбца и уже в результате делать склейку. | |
|
|
|
|
|
|
|
для: Лена
(06.07.2009 в 16:48)
| | В PHP можно ставить как одинарные, так и двойные кавычки, но текст, заключенный в одинарные кавычки рассматривается только как текст, поэтому у Вас и выводится <br>. Нужно было бы заключить его в двойные кавычки, но тогда это расценится как конец запроса. Попробуйте <br> в двойных кавычках присвоить какой-нибудь переменной, а в запрос вставлять уже переменную. Хотя, если честно, вывод данных делается не так, но у вас шаблон, поэтому точно ничего не скажу. | |
|
|
|
|
|
|
|
для: LoraCat
(07.07.2009 в 13:25)
| | На <br> Ваше замечание не распространяется - тэги HTML распознаются броузером и в одинарных кавычках (можете проверить на досуге). | |
|
|
|
|
|
|
|
для: LoraCat
(07.07.2009 в 13:25)
| | >Нужно было бы заключить его в двойные кавычки, но тогда это расценится как конец запроса.
Не надо запутывать автора.
У него php-текст во всех сообщениях заключен именно в двойные кавычки.
Действие кавычек на любой механизм оценивается не по контексту, а по синтаксису. | |
|
|
|