Foros del Web » Programando para Internet » PHP »

problema con WHILE

Estas en el tema de problema con WHILE en el foro de PHP en Foros del Web. Buenas a todos, tengo el siguiente problema: estoy guardando en un array el resultado de una consulta por ejemplo Código PHP: $consulta  =   "MIBASE.sp_inform '$_Tsb_Selected_Inx', '$_Tcp_Selected_Inx', '$_Tcs_Selected_Inx', 'DVERIF'" ; ...
  #1 (permalink)  
Antiguo 07/01/2004, 12:35
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
problema con WHILE

Buenas a todos, tengo el siguiente problema:
estoy guardando en un array el resultado de una consulta
por ejemplo


Código PHP:
$consulta =  "MIBASE.sp_inform '$_Tsb_Selected_Inx', '$_Tcp_Selected_Inx', '$_Tcs_Selected_Inx', 'DVERIF'";

// **** hacemos a la variable igual al data object
$resultado odbc_do($ConnectServerID$consulta);
$Num_Campos odbc_num_fields($resultado);
$N_Filas odbc_num_rows($resultado);
$N_Filas 0;
                      
$_TIDO=array();
$_NIDO=array();
   while(
odbc_fetch_row($resultado ) and ($N_Filas <= $_RP)) {
            
$N_Filas++;
            
$_Cli_TotalRecords 0;
                 if( 
$resultado ) {
       
$x 1;
       
$_TIDO[] = odbc_result($resultado,6); 
     
$_NIDO[] = odbc_result($resultado,7);              
                            
    
session_register("_TIDO");
    
session_register("_NIDO");
    }
     } 
// de todas las tuplas respuesta: el while 
Hasta ahi todo bien.
El problema es en el siguente while donde quiero imprimir el resultado guardado en los array.
Solo me lo esta imprimiendo en la primer fila de la tabla, en las siguentes filas no me imprime mas los array.

Código PHP:
 echo '<table border="1" width="400" align="right">';
if (
$num 1){
  
$X '1';
 }else {
  
$X $num;
 }        
     
$Num_Filas'3';
$J='1';
    while (
$J <= $Num_Filas){
    
$J++;
    echo 
"<tr>";
    echo 
"<td width='300' colspan='2' border-width: '1' bgcolor='#C0C0C0'><font face='tahoma' size='1'>";
        
$Cont $X++;
        echo 
$_TIDO[$Cont];
        echo 
$_NIDO[$Cont];
   echo 
"</td>";
   echo 
"<td width='300' colspan='2' border-width: '1' bgcolor='#C0C0C0'><font face='tahoma' size='1'>";
         
$Cont $X++;
         echo 
$_TIDO[$Cont];
         echo 
$_NIDO[$Cont];
   echo 
"</td>";
   echo 
"</tr>";      
}
     echo 
"</TABLE>\n"
No se que puede si alguien me da una mano se lo agradeceria mucho. desde ya muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 07/01/2004, 16:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿Te has fijado el HTML generado por ese codigo? Ya sabes, en el navegador "VER->Codigo fuente", para saber si te genera todas las filas. Recuerda que en HTML <td></td> no muestra la celda, ni siquiera sus bordes. Prueba a poner un & nbsp; (sin el espacio) en el HTML que sacas.

De todas formas, estas empezando por mostrar el indice 1 de tus arrays, cuando los arrays en PHP empiezan en 0.

Tambien seria conveniente que verificaras el contenido de los arrays tanto al final del script donde los creas como al comienzo de donde los muestras. La funcion print_r() (www.php.net/print_r) te puede ayudar.

Y doy por supuesto que la consulta devuelve la suficiente cantidad de registros.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:15.