Вывод данных из БД

Главные вкладки

Аватар пользователя Sponger Sponger 16 ноября 2009 в 16:20

Добрый день.
Помогите пожалуйста разобраться...
задача такая: необходимо из БД вывести некоторый данные в виде таблицы на нескольких страницах сайта...
как это лучше сделать?

1) без помощ доп. модулей просто создать новую страницу и туда вставить код на php? вида
«$query = db_query("SELECT * FROM {people} p");

$text .= "\n

";
$text .= "\n";
$text .= "\n

";
$text .= "\n

";
$text .= "\n";

for($j=0; $j";
$text .= "\n

";
$text .= "\n

";
$text .= "\n

";
}
$text .= "

№ п/п ФИО ".mysql_result($query,$j,'id')." ".mysql_result($query,$j,'fio')."

";
echo $text;»
но у меня тут возникла проблемка такая... у меня в базе данных таблицы для друпал существуют с префиксом "css_", а таблицы из которых необходимо вывести данные без этого префикса...но при написании такого запроса, друпол автоматом подставляет префикс...что сделать?

2) Или использовать модуль?
но какой? Views наколько я понял служит для вывода "друпаллвоской информации"...

Комментарии

Аватар пользователя Sponger Sponger 16 ноября 2009 в 16:57

Извиняюсь за формат вывода прошлого поста:
там был код..

<?php
$query 
db_query("SELECT * FROM {people} p");

$text .= "\n<table cellpadding=\"1\" cellspacing=\"1\">";
$text .= "\n<thead>";
$text .= "\n<th>№ п/п</th>";
$text .= "\n<th>ФИО</th>";
$text .= "\n</thead>";

for(

$j=0$j<mysql_num_rows($query); $j++) {
    
$text .= "\n<tr>";
    
$text .= "\n<td>".mysql_result($query,$j,'id')."</td>";
    
$text .= "\n<td>".mysql_result($query,$j,'fio')."</td>";
    
$text .= "\n</tr>";
    }
$text .= "</table>";
echo 
$text;?>

и префикс "cms_" не важно конечно, но дико выглядит опечатка Smile

Аватар пользователя kosilko kosilko 16 ноября 2009 в 17:20

"Sponger" wrote:
но при написании такого запроса, друпол автоматом подставляет префикс...что сделать?

как вариант - не использовать {фигурные скобки} в запросах

Аватар пользователя edhel edhel 16 ноября 2009 в 19:57

Конечно, убрать { } и всё. С views будет сложнее, надо копать в сторону хуков вьюсовских. Овчинка выделки не стоит в данном случае, хотя это и возможно реализовать.

Аватар пользователя gumanista gumanista 17 ноября 2009 в 0:07

а можно вопрос? почему не theme('table'... и зачем использовать смесь бд-специфических и друпаловских функций?

$query = db_query("SELECT * FROM {people} p");
if ($query) {
    while ($row = db_fetch_array($query)) {
        $rows[] = array($row['id'], $row['fio']);
    }
    $header = array('id', 'fio');
    return theme('table', $header, $rows);
} else {
    return 'no records';
}

и выглядит эстетичней и вааще...

Аватар пользователя Sponger Sponger 17 ноября 2009 в 10:21

Спасибо за советы!
конечно так будет правильные и лучше))
я с друпалом буквально 3 дня работаю, так что многого не знаю...