Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нескладушки с выводом таблицы
 
 автор: Nextia   (22.05.2012 в 05:22)   письмо автору
 
 

Имеем мою любимую связку PHP+Oracle :-) Переезды на другие базы не предлагать!!!

<?php
//параметры соединения опускаю ибо не важно
 
$user_search="select distinct
       t.name_user,
       to_number(log_user),
       t.dat
  from o_log t where DAT between to_date('"
.$start_date."','dd.mm.yyyy') and to_date('".$finish_date."','dd.mm.yyyy')  order by 2 desc";
 print(
"<h2>TEXTс&nbsp;".$start_date."&nbsp;по&nbsp;".$finish_date."</h2><br />");
print (
"<table border='1' cellspacing='1' celppadding='1' align='center'><tr><td>1</td><td>2</td><td>3</td></tr>");
$stn_u=oci_parse($dbh,$user_search);
 
oci_execute($stn_u);
while ((
$row oci_fetch_object($stn_u))) {
    
// Используйте имена атрибутов в верхнем регистре
   
print ("<tr><td>".$row->NAME_USER."</td>\n");
    print(
"<td>".$row->LOG_USER."</td>");
    
//вот здесь и кроется проблема в таком варианте таблица выстраивается с заполненными 1 и 3 столбцами, т.е проблема с названием 2 столбца
// в девелопере поле называется to_number(log_user) в верхнем регистре при такой подстановке таблица не видна вообще.
    
print("<td>".$row->DAT."</td></tr>");
}
 print (
"</table>");
?>

Помогите найти решение, пожалуйста

  Ответить  
 
 автор: confirm   (22.05.2012 в 06:57)   письмо автору
 
   для: Nextia   (22.05.2012 в 05:22)
 

Смотрим что содержит поле log_user, а также результат - html-код страницы, будет видна причина проблемы.

  Ответить  
 
 автор: bishake   (22.05.2012 в 10:20)   письмо автору
 
   для: Nextia   (22.05.2012 в 05:22)
 

Не по теме: если Вы любите Oracle, то чем Вам так php приглянулся?

  Ответить  
 
 автор: Nextia   (22.05.2012 в 10:28)   письмо автору
 
   для: bishake   (22.05.2012 в 10:20)
 

Имеется большая компания со сложным массивом прав. Т.е в прямую меня к базе никто не пустит.
Весь софт соответственно работает на Oracle другого ничего нет, пишется простое прикладное локальное ПО с веб-интерфейсом.
Php нравится просто как язык
я ответила на ваш вопрос?

  Ответить  
 
 автор: confirm   (22.05.2012 в 12:53)   письмо автору
 
   для: Nextia   (22.05.2012 в 10:28)
 

>пишется простое прикладное локальное ПО с веб-интерфейсом

Если дело обстоит так, то выбор РНР, это не лучший выбор.

  Ответить  
 
 автор: Nextia   (23.05.2012 в 08:46)   письмо автору
 
   для: confirm   (22.05.2012 в 12:53)
 

Suum cuique

  Ответить  
 
 автор: Nextia   (24.05.2012 в 10:21)   письмо автору
 
   для: Nextia   (23.05.2012 в 08:46)
 

Ну и решение.

$user_search="select distinct
       name_user,
       to_number(log_user) itog,
       dat
  from o_log t where DAT between to_date('".$start_date."','dd.mm.yyyy') and to_date('".$finish_date."','dd.mm.yyyy')  order by 2 desc";
 print("<h2>Сводная таблица результатов конкурса с&nbsp;".$start_date."&nbsp;по&nbsp;".$finish_date."</h2><br />");
print ("<table border='1' cellspacing='1' celppadding='1' align='center'><tr><td>1</td><td>2</td><td>3</td></tr>");
$stn_u=oci_parse($dbh,$user_search);
 oci_execute($stn_u);
while (($row = oci_fetch_object($stn_u))) {
   print ("<tr><td>".$row->NAME_USER."</td>\n");
    print("<td>".$row->ITOG."</td>");
    print("<td>".$row->DAT."</td></tr>");

при передаче названия Php неадекватно реагирует на скобки, поэтому переименовываем поле в ITOG и спокойно принимаем результат выполнения запроса

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования