За последние 24 часа нас посетили 22479 программистов и 1159 роботов. Сейчас ищут 804 программиста ...

Постраничный вывод таблицы Oracle

Тема в разделе "Oracle Database", создана пользователем Maksim, 10 фев 2010.

  1. Maksim

    Maksim Активный пользователь

    С нами с:
    10 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Привет всем, у меня вопрос, как вывести таблицу из бд Oracle.
    таблица из 4000 строк, нужно сделать, чтобы выводилось на одной странице по 500
    Написал скрипт для вывода всей таблицы
    PHP:
    1. <?php
    2. $conn = oci_connect("АААА", "ААА", "/ФФФ");
    3.  
    4. $sql = "SELECT * FROM ATD2";
    5. $res = OCIParse($conn, $sql);
    6. oci_execute($res);
    7.  
    8. echo "<TABLE BORDER=3>";
    9. echo "<TR>";
    10.  
    11. for ($i = 1; $i-1 < oci_num_fields($res); $i++) {
    12. echo "<TH>";
    13. echo oci_field_name($res,$i);
    14. echo "</TH>";
    15. }
    16.  
    17. while ($row = oci_fetch_row($res)) {
    18. echo "<TR>";
    19. for ($i = 0; $i < $fields=count($row); $i++) {
    20. echo "<TD>".$row[$i]."</TD>";
    21. }
    22. echo "</TR>";
    23. }
    24. echo "</TR></TABLE>";
    25.     oci_close($conn)
    26.  
    27.  
    28. ?>
    Знаю как сделать на mysql, т.к. только закончил курсы, а там преподавали PHP+mysql, а на работе нужно на Oracle, буду рад помощи, спасибо
    На выходе у меня должно получиться примерно как тутhttp://ido.nl.eu.org/pir/
     
  2. Maksim

    Maksim Активный пользователь

    С нами с:
    10 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    горю, помогите
     
  3. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Maksim
    http://phpfaq.ru/paginator
    Принцип тот же, потому что язык SQL.
    Приведите ваш в соответствии с кодом по ссылке выше. Если что-то не получится - пишите сюда.
     
  4. Maksim

    Maksim Активный пользователь

    С нами с:
    10 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Спасибо, но это на mysql/
    Извините я просто только начал работать с PHP (в понедельник курсы закончил), и наверное реально туплю.
    У вас нет примера именно с Oracle, заранее большое спасибо
     
  5. Maksim

    Maksim Активный пользователь

    С нами с:
    10 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Подскажите какую-нибудь книжку PHP+oracle
     
  6. cyklop77

    cyklop77 Активный пользователь

    С нами с:
    11 авг 2010
    Сообщения:
    10
    Симпатии:
    0
    подскажите пожалуйста почему не работает вот такой код:

    Код (Text):
    1.  
    2.     if ($c=OCILogon("bla", "bla", "bla"))
    3.     {
    4.         echo "Successfully connected to Oracle.<br>";
    5.     }
    6.     else
    7.     {
    8.         $err = OCI_Error();
    9.         echo "Oracle Connect Error " . $err[message];
    10.         exit;
    11.     }
    12.  
    13.  
    14.     $query="select round(sum(t.waittime)/count(*)) as q from waitexeclog t where t.timeevent like '15.07.2010 15:03%'";
    15.     echo($query."\n");
    16.     $q = OCIParse($c, $query);
    17.     OCIExecute($q);
    18.     while($res = oci_fetch_row($q))
    19.     {
    20.         echo("middle: ".$res[0]."\n");
    21.         ECHO("rows ".oci_field_name($q, 0) );
    22.                  }
    поле waittime числовое, timeevent типа date

    примечательно то, функция oci_field_name выдает результат и на экран он выводится.
    в $res[0] почему то всегда пусто. хотя если этот же запрос я выполняю в developer , то проблем нет.