PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Hightower
Отправлено: 18 Сентября, 2012 - 07:53:40
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Здравствуйте уважаемые программисты, у меня возникли 2 вопроса на которые я бы хотел получить ответы, вопросы следующего характера:
1)Имеется бд в postgresql я вывожу в html-форму таблицу вертикальной развертки, но при этом из таблицы выводится только первая запись, а мне нужно просматривать все записи поочередно, если сделать таблицу по горизонтали тогда все записи видно,вопрос: как мне именно осуществить переход по записям, если можно желательно с примером, в виде кнопок "вперед" и "назад" или гиперсылок в виде страниц - 1,2,3 и т.д.Как это можно осуществить программно.
2)Нужно сделать таблицу в виде гиперсылки,ну не саму таблицу а допустим один из столбцов, нажимаю на конкретную запись в таблице открывается другая таблица. К примеру: есть поле "Товары" в нем запись "Продукты" нажимаю на продукты открывается таблица продуктов и там продукты различного рода.
 
 Top
Hightower
Отправлено: 18 Сентября, 2012 - 14:33:24
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Есть у кого нибудь примеры или наработки с пагинацией?
 
 Top
mugik
Отправлено: 20 Сентября, 2012 - 19:38:08
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




запрос в студию Радость
а ты знаешь, что пагинация в postgres очень щикатливая тема

(Отредактировано автором: 20 Сентября, 2012 - 19:42:18)

 
 Top
Hightower
Отправлено: 24 Сентября, 2012 - 07:46:55
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Да я уже понял что это не так то и просто осуществить пагинацию в postgresql, столько форумов облазил уже методов 5 испробовал, пока безрезультатно. Вот запрос:
PHP:
скопировать код в буфер обмена
  1.  
  2. $sum = 1; // число записей на странице
  3. $sql = "SELECT COUNT(*) AS A FROM tb_test2";
  4. $result = pg_query($con, $sql);
  5. $arr = pg_fetch_row($result); // возвращает неассоциативный массив
  6. $rec = $arr[0];  // общее число записей в таблице
  7.  
  8. // если страница существует, выводим её,иначе первую
  9. if(isset($_GET['p']))
  10.         {
  11.          $str = (int)$_GET['p'];
  12.         }
  13.  else
  14.         {
  15.          $str = 0;
  16.         }
  17.  
  18. // получем номер начальной записи страницы
  19. $start = $str * $sum;
  20.  
  21. // запрос
  22.  pg_query($con, "SET NAMES 'windows-1251'");
  23. $r = pg_query("SELECT * FROM tb_test2 LIMIT $start OFFSET $sum");
  24. $n = pg_num_rows($r); // возвращаем число строк результата запроса
  25.  
  26. // если страница не первая, выводим ссылку НАЗАД
  27. if ($str > 0)
  28. {
  29.  $p = $str - 1;
  30.  echo "<a href=pagination.php?p=$p>НАЗАД </a>";
  31. }
  32.  
  33. $str++;  // увеличиваем переменную $str на единицу;
  34. // выводим ссылку на следующие пять записей, если она есть,
  35. // то есть число записей, которые нужно вывести,
  36. // и смещение не превышает общего числа записей
  37.  
  38. if($start + $n < $rec)
  39. echo "<a href=pagination.php?p=$str>ДАЛЕЕ </a>";
  40. //Формирование таблицы ......
  41. pg_query($con, "SET NAMES 'windows-1251'");
  42. $sql = "SELECT * FROM tb_test2 ORDER BY id asc";
  43.  
  44. $result=pg_query($con,$sql);
  45. $table = "<table border=0 width=100% align=center>\n";
  46.  
  47.   echo "<table border =1>";
  48.    echo "<tr>";
  49.     echo "<th>№</th>";
  50.     echo "<th> Категория</th>";
  51.     echo "<th>Наименование</th>";
  52.     echo "<th>Цена</th>";
  53.    echo "<tr>";
  54.  
  55. for ($i = 0; $i < $n; $i++)
  56.  {
  57.    while ($myarr = pg_fetch_array($r))
  58.      {
  59.         echo "<tr>";
  60.           echo "<td>" .$myarr['id'].  "</td>";
  61.           echo "<td>" .$myarr['cat'].  "</td>";
  62.           echo "<td>" .$myarr['naim']. "</td>";
  63.           echo "<td>" .$myarr['price'].  "</td>";
  64.          echo "</tr>";
  65.      }
  66.  }
  67. echo "</table>";
  68.  

Данный метод работает он выводит строки при нажатии кнопки далее,только мне нужно сделать следующее:
1)Чтобы таблица отображалась не горизонтально а вертикально, т.е. таблица состоит из двух столбцов, 1-ый столбец это названия реквизитов (№, категория, наименование ...), а 2-ой столбец их значения.
2)При просмотре таблицы чтобы отображалась только первая запись, а при нажатии кнопки далее менялись значения во 2-ом столбце, т.е. только значения, а шапка оставалась без изменения (1-ый столбец). Вот собственно что мне надо осуществить.
 
 Top
mugik
Отправлено: 25 Сентября, 2012 - 01:23:54
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Цитата:
Чтобы таблица отображалась не горизонтально а вертикально, т.е. таблица состоит из двух столбцов, 1-ый столбец это названия реквизитов (№, категория, наименование ...), а 2-ой столбец их значения.


т.е. как я понял(если я правильно понял) у тебя при добавлении записей таблица будет расширяться не вниз, а вправо... Однако

модераторы присоедениямся к дискуссии, не стесняемся
 
 Top
Hightower
Отправлено: 25 Сентября, 2012 - 07:16:04
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




mugik пишет:
Цитата:
Чтобы таблица отображалась не горизонтально а вертикально, т.е. таблица состоит из двух столбцов, 1-ый столбец это названия реквизитов (№, категория, наименование ...), а 2-ой столбец их значения.


т.е. как я понял(если я правильно понял) у тебя при добавлении записей таблица будет расширяться не вниз, а вправо... Однако

модераторы присоедениямся к дискуссии, не стесняемся

ну по сути ты верно думаешь,но мне нужно чтобы данные отображались только в одном столбце, как бы обновлялись, нажимаю на страницу 2 предположим и во втором столбце меняется информация а не прибавляется столбец, если будут прибавляться столбцы и будет примерно 1000 записей то какая это будет таблица тогда

(Отредактировано автором: 25 Сентября, 2012 - 07:16:35)

 
 Top
mugik
Отправлено: 25 Сентября, 2012 - 13:45:52
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




что это за метод такой "вертикальная развертка таблицы", по этому запросу я вгугле нашел только этот форум и еще один где ты писал, ну и еще что то про видеопамять.
можешь ссылку дать где это описывается.
а для пагинации нужны множества записей, если у тебя таблица расшряеться вправо, то это будут миллионы столбцов чтоли?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB