Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2013, 13:24
DiegoWL
 
Fecha de Ingreso: enero-2013
Ubicación: Iquique
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Consulta sobre PHP+Sql Server 2005

Saludos estimados:

Como dice mi ID , me llamo Diego y soy de Chile.

No se si lo posteo en el foro correcto , mis disculpas si es que es asi.

Resulta que me pasaron un sistema hecho en PHP+MySQL+Apache y me pidieron transformarlo a PHP+SQL SERVER ( nunca he trabajado con PHP+ SQL SERVER ) . Actualmente lo estoy montando sobre IIS7. La base de datos está en otro sitio y ya logré hacer la conexión entre el sistema y la base de datos , pero mi problema surge por que no puedo lograr visualizar los datos que pido cuando hago una consulta SELECT a la bd sql server . No creo que sea un problema de la sentencia SQL por que , en el inicio de sesión , me toma los campos en forma correcta para acceder al sistema , creo que es mas un problema de las funciones de PHP que trae el sistema . El tema es lograr hacer visualizar la tabla con los datos que pido cuando hago la consulta (no muestra absolutamente nada). Ojala me puedan ayudar , les dejo el código.

Código PHP:
Ver original
  1. <?
  2.  
  3. $servicio = 66;
  4. require_once('includes/secure.php');
  5. require_once('Connections/db1.php');
  6. include ("clases/class.pagination.php");
  7.  
  8.  
  9. $SQL = "SELECT * FROM flota ORDER BY codigo ASC ";
  10. $RFLOTA = $db1->Execute($SQL);
  11.  
  12. $SQL = "SELECT * FROM unidad_negocio ORDER BY codigo ASC ";
  13. $RUNINEG = $db1->Execute($SQL);
  14.  
  15. $SQL = "SELECT * FROM tipo_gasto ORDER BY codigo ASC ";
  16. $RTGASTO = $db1->Execute($SQL);
  17.  
  18. $SQL = "SELECT  e.nombre,
  19.                 e.tac,
  20.                 f.descripcion as flota,
  21.                 u.codigo as unidad,
  22.                 t.codigo as tipogasto,
  23.                 c.codigo as cuentagasto
  24.         FROM   equipo e
  25.                 LEFT OUTER JOIN unidad_negocio u ON e.id_unidad_negocio = u.id  
  26.                 LEFT OUTER JOIN tipo_gasto t ON e.id_tipo_gasto = t.id
  27.                 LEFT OUTER JOIN cta_gasto c ON e.id_cta_gasto = c.id
  28.                 LEFT OUTER JOIN flota f ON e.id_flota = f.id
  29.         WHERE
  30.                 e.id <> 0 and e.eliminado = 0";
  31.                
  32. if($_GET['equipo']!='')
  33.     $SQL .=" AND UPPER(e.nombre) LIKE '%".strtoupper($_GET['equipo'])."%'";            
  34.  
  35. if($_GET['flota']!='')
  36.     $SQL .=" AND e.id_flota = ".$_GET['flota'];
  37.  
  38. if($_GET['centrocosto']!='')
  39.     $SQL .=" AND e.id_unidad_negocio = ".$_GET['centrocosto'];
  40.    
  41. if($_GET['tipogasto']!='')
  42.     $SQL .=" AND e.id_tipo_gasto = ".$_GET['tipogasto'];
  43.  
  44.  
  45.  
  46.  
  47. ?>
  48. <html>
  49. <head>
  50. <script src="js/mootools-release-1.11.js" language="javascript"></script>
  51. <script>
  52. function llenaDatos()
  53. {
  54.  
  55.  
  56. <?
  57. if(isset($_GET) && is_array($_GET)):
  58.     while(list($cl,$vl)=each($_GET)):
  59.         if(!is_array($vl))
  60.         echo ' if($(\''.$cl.'\')){     
  61.         $(\''.$cl.'\').value=\''.$vl.'\';
  62. }';
  63.     endwhile;
  64. endif;
  65.  
  66. ?>
  67.  
  68. }
  69. </script>
  70. <link rel="stylesheet" href="estilos.css" type="text/css" />
  71. <style type="text/css">
  72. <!--
  73. .style1 {
  74.     font-size: 10pt;
  75.     font-weight: bold;
  76. }
  77. -->
  78. </style>
  79. </head>
  80. <body>
  81. <form method="get" action="" name="form">
  82. <table width="100%" border="0" cellpadding="0">
  83. <tr>
  84.     <td height="30" align="center" class="barraTitulo"><span class="style1">Reporte de Rendimiento</span></td>
  85. </tr>
  86. <tr>
  87.   <td><hr></td>
  88. </tr>
  89. <tr>
  90.   <td><table width="100%" border="0" cellpadding="0" class="barra1">
  91.     <tr>
  92.       <td width="11%" align="right">Equipo:</td>
  93.       <td width="20%"><input type="text" name="equipo" id="equipo"></td>
  94.       <td width="15%" align="right">Centro de Costo:</td>
  95.       <td width="36%">
  96.       <select name="centrocosto" id="centrocosto">
  97.       <option value="">Todos</option>
  98.             <? while(!$RUNINEG->EOF):?>
  99.             <option value="<?=$RUNINEG->fields['id'] ?>"><?=$RUNINEG->fields['codigo']." ".$RUNINEG->fields['descripcion'] ?></option>
  100.             <? $RUNINEG->MoveNext();
  101.                 endwhile;?>
  102.             </select></td>
  103.       <td width="18%">&nbsp;</td>
  104.     </tr>
  105.     <tr>
  106.       <td align="right">Flota:</td>
  107.       <td><select name="flota" id="flota">
  108.             <option value="">Todos</option>
  109.             <?  while(!$RFLOTA->EOF):   ?>
  110.  
  111.             <option value="<?=$RFLOTA->fields['id'] ?>"><?=$RFLOTA->fields['codigo']." ".$RFLOTA->fields['descripcion'] ?></option>
  112.             <? $RFLOTA->MoveNext();
  113.                 endwhile;?>
  114.             </select></td>
  115.            
  116.       <td align="right">Tipo de Gasto:</td>
  117.       <td><select name="tipogasto" id="tipogasto">
  118.       <option value="">Todos</option>
  119.             <? while(!$RTGASTO->EOF):?>
  120.             <option value="<?=$RTGASTO->fields['id']?>"><?=$RTGASTO->fields['codigo']." ".$RTGASTO->fields['descripcion'] ?></option>
  121.             <? $RTGASTO->MoveNext();
  122.                 endwhile;?>
  123.             </select></td>
  124.       <td>&nbsp;</td>
  125.     </tr>
  126.     <tr>
  127.       <td colspan="5" align="center">&nbsp;</td>
  128.     </tr>
  129.     <tr>
  130.       <td colspan="5" align="center"><input type="submit" name="Submit" id="button" value="Buscar">
  131. &nbsp;&nbsp;&nbsp;&nbsp;
  132. <input type="reset" name="button2" id="button2" value="Limpiar"></td>
  133.       </tr>
  134.   </table></td>
  135. </tr>
  136. <tr>
  137.   <td><hr></td>
  138. </tr>
  139. <tr>
  140.   <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
  141.     <tr>
  142.       <td width="4%" align="center" class="barra1">Tac</td>
  143.       <td width="24%" align="center" class="barra1">Equipo</td>
  144.       <td width="26%" align="center" class="barra1">Flota</td>
  145.       <td width="8%" align="center" class="barra1">Tipo Gasto</td>
  146.       <td width="8%" align="center" class="barra1">Centro de Costo</td>
  147.       <td width="7%" align="center" class="barra1">Cuenta de Gasto</td>
  148.       <td width="12%" align="center" class="barra1">Ultima Lectura</td>
  149.       <td width="11%" align="center" class="barra1">Rendimiento</td>
  150.     </tr>
  151.     <? while(!$RSEQ->EOF):
  152.         $SQL = "SELECT max(id) as id, cant_litros,fecha,hora,kilometra  
  153.                 FROM transaccion
  154.                 WHERE num_llave  = '".$RSEQ->fields['tac']."'
  155.                 GROUP BY id, cant_litros,fecha, hora
  156.                 ORDER BY fecha, hora LIMIT 2";
  157.         $RM = $db1->Execute($SQL);
  158.        
  159.         if($RM->RecordCount()>1):          
  160.             $i=1;
  161.             while(!$RM->EOF):
  162.                 if($i==1):
  163.                     $litros1 = $RM->fields['cant_litros'];
  164.                     $kilo1  = $RM->fields['kilometra'];
  165.                 else:
  166.                     $litros2 = $RM->fields['cant_litros'];
  167.                     $kilo2  = $RM->fields['kilometra'];
  168.                 endif;
  169.                 $i++;
  170.                 $RM->MoveNext();
  171.             endwhile;
  172.            
  173.             $dif = $kilo2-$kilo1;
  174.            
  175.             if($dif==0):
  176.                 $rendimiento = 0;
  177.             else:
  178.                 $rendimiento = $litros2 / $dif;
  179.             endif;             
  180.         endif;
  181.    
  182.    
  183.    
  184.     ?>
  185.     <tr>
  186.       <td class="borde1"><?=print_r($RSEQ->fields['tac']) ?></td>
  187.       <td class="borde1"><?=$RSEQ->fields['nombre'] ?></td>
  188.       <td class="borde1"><?=$RSEQ->fields['flota'] ?></td>
  189.       <td align="center" class="borde1"><?=$RSEQ->fields['cuentagasto'] ?></td>
  190.       <td align="center" class="borde1"><?=$RSEQ->fields['unidad'] ?></td>
  191.       <td align="center" class="borde1"><?=$RSEQ->fields['tipogasto'] ?></td>
  192.       <td class="borde1">&nbsp;</td>
  193.       <td class="borde1"><?=$rendimiento ?></td>
  194.     </tr>
  195.     <? $RSEQ->MoveNext();
  196.       endwhile;?>
  197.     <tr>
  198.       <td>&nbsp;</td>
  199.       <td>&nbsp;</td>
  200.       <td>&nbsp;</td>
  201.       <td>&nbsp;</td>
  202.       <td>&nbsp;</td>
  203.       <td>&nbsp;</td>
  204.       <td>&nbsp;</td>
  205.       <td>&nbsp;</td>
  206.     </tr>
  207.   </table></td>
  208. </tr>
  209. <tr>
  210.   <td>&nbsp;</td>
  211. </tr>
  212. </table>
  213. </form>
  214. <script>
  215. llenaDatos();
  216. </script>
  217. </body>
  218. </html>

Saludos y gracias de antemano.

PD: El string de conexión que usa es este:

Código PHP:
Ver original
  1. <?
  2.     # PHP ADODB document - made with PHAkt
  3.     # FileName="Connection_php_adodb.htm"
  4.     # Type="ADODB"
  5.     # HTTP="true"
  6.     # DBTYPE="odbc"
  7.    
  8.     $MM_db1_HOSTNAME = 'iqqsqld01';
  9.     $MM_db1_DATABASE = 'odbc:sacc';
  10.     $MM_db1_DBTYPE   = preg_replace('/:.*$/', '', $MM_db1_DATABASE);
  11.     $MM_db1_DATABASE = preg_replace('/^[^:]*?:/', '', $MM_db1_DATABASE);
  12.     $MM_db1_USERNAME = 'sacc';
  13.     $MM_db1_PASSWORD = 'sacc123';
  14.     $MM_db1_LOCALE = 'En';
  15.     $MM_db1_MSGLOCALE = 'En';
  16.     $MM_db1_CTYPE = 'C';
  17.     $KT_locale = $MM_db1_MSGLOCALE;
  18.     $KT_dlocale = $MM_db1_LOCALE;
  19.     $KT_serverFormat = '%Y-%m-%d %H:%M:%S';
  20.     $QUB_Caching = 'false';
  21.  
  22.     $KT_localFormat = $KT_serverFormat;
  23.    
  24.     if (!defined('CONN_DIR')) define('CONN_DIR',dirname(__FILE__));
  25.     require_once(CONN_DIR.'/../adodb/adodb.inc.php');
  26.    
  27.     //$db1=&KTNewConnection($MM_db1_DBTYPE);
  28.      $db1 =& ADONewConnection($MM_db1_DBTYPE);
  29.     if($MM_db1_DBTYPE == 'access' || $MM_db1_DBTYPE == 'odbc'){
  30.         if($MM_db1_CTYPE == 'P'){
  31.             $db1->PConnect($MM_db1_DATABASE, $MM_db1_USERNAME,$MM_db1_PASSWORD);
  32.         } else $db1->Connect($MM_db1_DATABASE, $MM_db1_USERNAME,$MM_db1_PASSWORD);
  33.     } else if (($MM_db1_DBTYPE == 'ibase') or ($MM_db1_DBTYPE == 'firebird')) {
  34.         if($MM_db1_CTYPE == 'P'){
  35.             $db1->PConnect($MM_db1_HOSTNAME.':'.$MM_db1_DATABASE,$MM_db1_USERNAME,$MM_db1_PASSWORD);
  36.         } else $db1->Connect($MM_db1_HOSTNAME.':'.$MM_db1_DATABASE,$MM_db1_USERNAME,$MM_db1_PASSWORD);
  37.     }else {
  38.         if($MM_db1_CTYPE == 'P'){
  39.             $db1->PConnect($MM_db1_HOSTNAME,$MM_db1_USERNAME,$MM_db1_PASSWORD, $MM_db1_DATABASE);
  40.         } else $db1->Connect($MM_db1_HOSTNAME,$MM_db1_USERNAME,$MM_db1_PASSWORD, $MM_db1_DATABASE);
  41.    }
  42.  
  43.     if (!function_exists('updateMagicQuotes')) {
  44.         function updateMagicQuotes($HTTP_VARS){
  45.             if (is_array($HTTP_VARS)) {
  46.                 foreach ($HTTP_VARS as $name=>$value) {
  47.                     if (!is_array($value)) {
  48.                         $HTTP_VARS[$name] = addslashes($value);
  49.                     } else {
  50.                         foreach ($value as $name1=>$value1) {
  51.                             if (!is_array($value1)) {
  52.                                 $HTTP_VARS[$name1][$value1] = addslashes($value1);
  53.                             }
  54.                         }
  55.                     }
  56.                 }
  57.             }
  58.             return $HTTP_VARS;
  59.         }
  60.        
  61.         if (!get_magic_quotes_gpc()) {
  62.             $_GET = updateMagicQuotes($_GET);
  63.             $_POST = updateMagicQuotes($_POST);
  64.             $_COOKIE = updateMagicQuotes($_COOKIE);
  65.         }
  66.     }
  67.     if (!isset($_SERVER['REQUEST_URI']) && isset($_ENV['REQUEST_URI'])) {
  68.         $_SERVER['REQUEST_URI'] = $_ENV['REQUEST_URI'];
  69.     }
  70.     if (!isset($_SERVER['REQUEST_URI'])) {
  71.         $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'].(isset($_SERVER['QUERY_STRING'])?"?".$_SERVER['QUERY_STRING']:"");
  72.     }
  73. ?>