[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL запрос, вывод результата в таблицу
Настасья
Добрый вечер! Пытаюсь вывести корректно результат запроса в таблицу. Все хорошо получается с использованием функции ODBC - odbc_result_all, вроде и табличка и результат отображен. Но далее надо предусмотреть переход на другие страницы от этого результата, типа нажимаешь в ячейку и переходишь на конкретную страницу в зависимости от содержания ячейки. Вопрос в другом, я не понимаю как при использовании функции odbc_result_all присвоить каждой ячейке свой уникальный id - чтоб в дальнейшем к нему обращаться. Помогите, обьясните :(
Вот код:

...
<center>
<?php

$connect=odbc_connect("Driver={Microsoft Access Driver (*.mdb)}; Dbq=Z:\home\php\www\BD\BD.mdb","","") or die("Невозможно подключиться к БД MS Access");
$a=$_POST['v_god'];
$query="SELECT Gruppi.Naim_gr AS Группы FROM Gruppi INNER JOIN Spis_zurnal ON Gruppi.Kod_gr = Spis_zurnal.Kod_gr WHERE Uch_god = '".$a."'";
$result=odbc_prepare($connect,$query);
odbc_execute($result);
odbc_result_all($result,"BGCOLOR='#c0c0c0' border=1 name='t1' td id='d'");
odbc_free_result($result);
odbc_close($connect);
?>
<br>

...
exotica
может odbc_fetch_array() а дальше разобрать массив в таблицу циклом как в случае с mysql. Со всеми ссылками и прочем

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Настасья
exotica, когда я использовала предлогаемую функцию выводилась только первая запись всегда, как извлечь остальные я так и не поняла. Или использовала цикл не верно видимо
exotica
$table .= '<table name="new">';
while(odbc_fetch_array($result))
{
$table .= '<tr>
<td>'
.$result['name'].'</td>
<td><a href="/page='
.$result['id'].'"</a></td>
</tr>'

}
$table .= '</table>';


наверное чтото на подобе будет... не работал с odbc_ вообще..
и проверить как на зло неначем...

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Настасья
вставила код, ничего не отображает совсем. Но и ошибок не выдает. В переменной $result['name'] и $result['id'] - name и id это что имелось в виду?? Название полей которые должны там отобразиться из таблицы?

А, ну если дописать туда эхо, то он выводит - Resource id #3 вот такую вещь, сегодня я ее неоднократно уже видела. Но таблицу строит, и данными такого плана заполняет. А значит это видимо три строки всего в таблице
exotica
ID - это PRIMARY KEY в твоей таблице. мы формируем ссылку которая передает ГЕТ параметр $_GET['page'] = 1(допустим)

Если у тебя вывелась таблица формата
name | id
name | id
name | id

Значит идем дальше
Вместо:
$table .= '<tr>
<td>'
.$result['name'].'</td>
<td><a href="/page='
.$result['id'].'"</a></td>
</tr>'

Пишем следующие:
$table .= '<tr>
<td>'
.$result['name'].'</td>
<td><a href="/modify.php/page='
.$result['id'].'">Редактировать</a></td>
</tr>'


Т.е. при нажатии на ссылку мы перейдем на страницу site.ru/modify.php и получим ИД соответствующей строки из переменной $_GET['page'] далее ты вновь обращаешся к БД и по этому ИД достаешь из таблицы единственную запись для ее дальнейшего редактирования


и если я верно понял мануал , то вместо
odbc_execute($result);

надо:
odbc_exec($connect, $result);



_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Настасья
Изрядно модифицировав код все получилось)) направление правильно дали!! Огромное спасибо! А теперь еще вопрос, таблица всегда заполняется по вертикали вниз, а как сделать чтоб она по горизонтали в ячейки заполнялась? Я как понимаю есть функция Pivot, а есть другие способы?
kjdgh
Пример добавления столбца

ALTER TABLE tbl_name ADD field_name VARCHAR( 250 ) NOT NULL

А просто добавлять ячейки, не создавая дополнительных столбиков невозможно :)
P.S. PIVOT это поворот таблицы.

_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



Настасья
kjdgh, хех! А это называется Мы не ищем легких путей и лезем в дебри)) Все решилось обычными функциями!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.