PHP - Error case sensitive Datagrid.class.php

 
Vista:

Error case sensitive Datagrid.class.php

Publicado por mariosnash (2 intervenciones) el 24/08/2012 18:51:48
Hola a todos, quiesiera preguntarle por un problema con el que ya tengo un cierto tiempo, tengo el trabajo de migrar una pequeña base de datos de MySQL a PostgreSQL, la DB es de una pagina web. Una vez realizada la migracion de la DB empece hacerla funcional en la pagina web, la parte del front-end ya esta terminada, pero a la hora de hacerlo en la parte de administracion de la misma me encontre con una libreria de PHP llamada Datagrid.class.php, una grilla que me deberia mostrar los usuarios de la DB pero no lo hace y me muestra el siguiente mensaje:

"No se han encontrado datos! Por favor, comprueba atentamente la sintaxis de tu código!
Puede ser debido al uso incorrecto de Mayúsculas/minúsculas o a símbolos inesperados.

For more information, turn on debug mode. "

El codigo PHP es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
 
session_start(); if (!isset($_SESSION['idtecnico']) or $_SESSION['idtecnico']==0) {header("Location: sinacceso.html");
}?>
<?php
if (isset($_GET['mode']) and $_GET['mode']=='update')
{
 
	if (isset($_GET['sypass'])) {
				$_GET['sypass']=md5($_GET['sypass']);
	}
 
	if (isset($_POST['sypass'])) {
				$_POST['sypass']=md5($_POST['sypass']);
	}
 
}
 
if (isset($_SESSION['idtecnico']))
{
 $idusuario = $_SESSION['idtecnico'];
 $nmusuario = $_SESSION['nmtecnico'];
}
  define ("DATAGRID_DIR", "./grid/");
  define ("PEAR_DIR", "./grid/pear/");
  require_once('Connections/database.php');
  require_once(DATAGRID_DIR.'lib_sql.php');
  require_once(DATAGRID_DIR.'datagrid.class.php');
  require_once(PEAR_DIR.'PEAR.php');
  require_once(PEAR_DIR.'DB.php');
 
 
  $DB_USER=$username_database;
  $DB_PASS=$password_database;
  $DB_HOST=$hostname_database;
  $DB_NAME=$database_database;
 
 ob_start();
 $db_conn = DB::factory('pgsql');
 $db_conn -> connect(DB::parseDSN('pgsql://'.$DB_USER.':'.$DB_PASS.'@'.$DB_HOST.'/'.$DB_NAME));
 if(DB::isError($result_conn)){ die($result_conn->getDebugInfo()); }
 
 
$sql="SELECT "
  ."personal.idpersonal,"
  ."personal.usuario,"
  ."personal.pass,"
  ."personal.email "
  ."FROM personal";
 
  $debug_mode = false;
  $messaging = true;
  $unique_prefix = "";
  $dgrid = new DataGrid($debug_mode, $messaging, $unique_prefix, DATAGRID_DIR);
 
   ##  *** set encoding (default - utf8)
  $dg_encoding = "latin1";
  $dgrid->setEncoding($dg_encoding);
 
  $default_order_field = "idpersonal";
  $default_order_type = "ASC";
  $dgrid->dataSource($db_conn, $sql, $default_order_field, $default_order_type);
  $dg_language = "es";
  $dgrid->setInterfaceLang($dg_language);
 
 
 
  ##  *** set layouts: 0 - tabular(horizontal) - default, 1 - columnar(vertical)
$layouts = array("view"=>0, "edit"=>1, "filter"=>0);
$dgrid->setLayouts($layouts);
 
##  *** allow scrolling on datagrid
$scrolling_option = true;
$dgrid->allowScrollingSettings($scrolling_option);
 
##  *** set scrolling settings (optional)
$scrolling_width = "100%";
$scrolling_height = "100%";
$dgrid->setScrollingSettings($scrolling_width, $scrolling_height);
 
##  *** set DataGrid Caption
$dg_caption = "";
$dgrid->setCaption($dg_caption);
 
 
## +---------------------------------------------------------------------------+
## | 5. Filter Settings:                                                       |
## +---------------------------------------------------------------------------+
##  *** set filtering option: true or false(default)
 $filtering_option = false;
 $dgrid->allowFiltering($filtering_option);
##  *** set aditional filtering settings
 
$css_class = "gray";
$css_type = "embedded";
$dgrid->setCssClass($css_class, $css_type);
 
 $modes = array(
 "add"=>array("view"=>true, "edit"=>true, "type"=>"image"),
 "edit"=>array("view"=>true, "edit"=>true, "type"=>"image",  "byFieldValue"=>""),
 "cancel"=>array("view"=>true, "edit"=>true, "type"=>"image"),
 "details"=>array("view"=>false, "edit"=>true, "type"=>"image"),
 "delete"=>array("view"=>true, "edit"=>true, "type"=>"image")
);
$dgrid->setModes($modes);
 
$vm_colimns = array(
 
"idpersonal"=>array("header"=>"ID", "type"=>"label","align"=>"left", "width"=>"10%", "wrap"=>"wrap", "text_length"=>"-1", "case"=>"normal", "summarize"=>false),
"usuario"=>array("header"=>"Usuario", "type"=>"label","align"=>"left", "width"=>"40%", "wrap"=>"wrap", "text_length"=>"-1", "case"=>"normal", "summarize"=>false),
"email"=>array("header"=>"EMail", "type"=>"label","align"=>"left", "width"=>"40%", "wrap"=>"wrap", "text_length"=>"-1", "case"=>"normal", "summarize"=>false),
);
 
 $dgrid->setColumnsInViewMode($vm_colimns);
 $em_table_properties = array("width"=>"100%");
 $dgrid->setEditModeTableProperties($em_table_properties);
 
 $dm_table_properties = array("width"=>"100%");
 $dgrid->setDetailsModeTableProperties($dm_table_properties);
 
  $table_name = "personal";
  $primary_key = "idpersonal";
  $condition = "";
  $dgrid->setTableEdit($table_name, $primary_key, $condition);
 
 
$em_columns = array(
"usuario" =>array("header"=>"Usuario", "type"=>"textbox",  "req_type"=>"ry", "width"=>"210px", "title"=>"Nombre del Usuario", "readonly"=>false, "maxlength"=>"-1", "default"=>"", "on_js_event"=>""),"pass" =>array("header"=>"Password", "type"=>"password",  "req_type"=>"ry", "width"=>"210px", "title"=>"Contraseña del usuario", "readonly"=>false, "maxlength"=>"-1", "default"=>"", "on_js_event"=>""),"email" =>array("header"=>"eMail", "type"=>"textbox",  "req_type"=>"ry", "width"=>"210px", "title"=>"Correo Electronico", "readonly"=>false, "maxlength"=>"-1", "default"=>"", "on_js_event"=>"")
);
 
$dgrid->setColumnsInEditMode($em_columns);
 
?>


Ya creo que hice todo lo que esta a mi alcance, espero alguien pueda ayudarme.

Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error case sensitive Datagrid.class.php

Publicado por Alexis Ochoa (92 intervenciones) el 26/08/2012 04:25:26
Copiaste el mismo esquema o creaste uno nuevo? Me explico, la BD que tenías en MySQL es identica a la que tienes ahora es Postgres?

Si es así te recomiendo que examines el código de la clase que estás instanciando con DB , puesto que, MySQL y Postgres se gestionan de manera diferente desde PHP.

$db_conn = DB::factory('pgsql');


Si no tienes el mismo esquema, te recomiendo que revises las consultas que haces a ver si por allí está el problema y luego revisa la clase que te mencioné arriba.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error case sensitive Datagrid.class.php

Publicado por mariosnash (2 intervenciones) el 27/08/2012 16:10:34
La migracion de la DB MySQL a PostgreSQL fue hecha con exito, la coneccion de la aplicacion web a la DB tambien funciona, revise la consulta que hacer para recuperar los datos en el datagrid y tambien funcionan....creo que el problema esta en mi clase....en el encoding, lo cambie en mi aplicacion y tambien en mi nueva DB pero igual sigue sin funcionar. no se que puede ser...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar