[DataGridClass]: как сделать второй столбец набора результатов гиперссылкой? - PullRequest
0 голосов
/ 24 октября 2009

Я использую следующий класс, чтобы показать сетку, как внешний вид с нумерацией страниц на моей домашней странице Класс очень хороший и работает нормально.

Когда сетка показывает записи, я просто хочу сделать значения второго столбца гиперссылкой. Я попытался добавить href ... в класс, где обновляется $ c, но он не работает. Может кто-нибудь мне помочь.

Этот класс также использует файл "style.css", который также доступен по ссылке ниже. Нужны ли какие-то изменения?

http://www.webmastergate.com/php/paginate-query-results.html

Ответы [ 2 ]

1 голос
/ 24 октября 2009

Вы не можете. Вы можете делегировать ответственность за форматирование на запрос MySQL для возможного обходного пути.

например, вы можете отформатировать запрос следующим образом:

SELECT firstField, 
    concat ('<a href="', secondField, '">', thirdField,'</a>') as link_column, 
    ....

при условии, что во втором поле у ​​вас есть URL, а в третьем вы сохранили текст ссылки.

Другое решение (без текста) может быть

SELECT firstField, 
    concat ('<a href="', secondField, '">', secondField,'</a>') as link_column,
    ....

Если вам нужно показать другой URL, а не сделать ссылку.

Я просмотрел класс и думаю, что нет другого решения без его изменения, потому что вы не можете обратиться к одному столбцу в строке.

1 голос
/ 24 октября 2009

В функции getRows () рядом с последними строками функции, где установлена ​​переменная $ c. Вы должны каким-то образом проверить, является ли этот столбец вы хотите добавить ссылку. Предположим, что вы создали другой ассоциативный массив, в котором хранятся ключ и функция обратного вызова

   $r = '';
    while ($row = mysql_fetch_assoc($result)) {
        $c = '';

        foreach($row as $key=>$field) {
                //manipulate data here
            $c .= $this->fmtField($key, $field);
        }
        $r .= sprintf($this->rowfmt, $cr ? $classodd : $classeven, $c);
        $cr = 1 - $cr;
    }

Еще одна рекомендованная сетка данных - http://www.eyesis.ca/projects/datagrid.html - она ​​частично устраняет необходимость добавления ссылки, поскольку вы можете добавлять собственные действия в каждую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...