Foros del Web » Programando para Internet » PHP »

Notice: Undefined offset -- ¿qué significa?

Estas en el tema de Notice: Undefined offset -- ¿qué significa? en el foro de PHP en Foros del Web. Hola a todos, les escribo porque actualmente estoy teniendo un problema que con una función, que cada vez que se invoca me dá los siguientes ...
  #1 (permalink)  
Antiguo 07/03/2006, 09:50
 
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 12 años, 4 meses
Puntos: 0
Notice: Undefined offset -- ¿qué significa?

Hola a todos, les escribo porque actualmente estoy teniendo un problema que con una función, que cada vez que se invoca me dá los siguientes errores:

Notice: Undefined offset: 1 in C:\Archivos de programa\Apache Group\Apache2\htdocs\intranet\contabilidad\man_lib _funciones_BD.php on line 9

Me salen 9 mensajes iguales, lo único que varía es la numeración en el offset, es decir, offset:1, offset:2 ... etc.

A qué se refiere ese error?

La función que me está dando el inconveniente es la siguiente (Obtiene la lista de tablas de una BD a modo de determinar si existe una determinada tabla)

function Busca_tabla($nombre_tabla_buscada, $ano_a_buscar){ //indica si existe una tabla en la base de datos xxxxx
$result = mysql_list_tables ("base_de_datos");
$i = 0;
$existe = false; //parte de que la tabla no existe
while ($i < mysql_num_rows ($result)) {
$tabla_actual[$i] = substr(mysql_tablename ($result, $i),0,strlen($tabla_actual[$i])-4);
$ano_de_la_tabla = substr(mysql_tablename ($result, $i),strlen($tabla_actual[$i])-4,4);
if (($ano_a_buscar == $ano_de_la_tabla) && ($tabla_actual[i] == $nombre_tabla_buscada)){
$existe = true; //ya existe la tabla
}
$i++;
}
return $existe;
}//cierre de la función

En verdad les agradecería la ayuda que me puedan brindar, ya que no entiendo a que se refiere esa falla.

Última edición por dzapata; 07/03/2006 a las 09:57
  #2 (permalink)  
Antiguo 07/03/2006, 09:58
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
A primera vista, creo que te falta el $ delante de la i en la línea:
if (($ano_a_buscar == $ano_de_la_tabla) && ($tabla_actual[i] == $nombre_tabla_buscada)).
Quedaría asi:

Código PHP:
<?
....
if ((
$ano_a_buscar == $ano_de_la_tabla) && ($tabla_actual[$i] == $nombre_tabla_buscada))
...
?>
Saludos.
__________________
¿Se me entiende la letra?
  #3 (permalink)  
Antiguo 07/03/2006, 10:11
 
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 12 años, 4 meses
Puntos: 0
Gracias por tu ayuda, hice la corrección pero igual me sale la falla ... y no me había dado cuenta que además de ese error también me sale el siguiente:

Notice: Undefined variable: tabla_actual in C:\Archivos de programa\Apache Group\Apache2\htdocs\intranet\contabilidad\man_lib _funciones_BD.php on line 7
  #4 (permalink)  
Antiguo 07/03/2006, 10:38
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
En la línea:
$tabla_actual[$i] = substr(mysql_tablename ($result, $i),0,strlen($tabla_actual[$i])-4);
estás tratando de usar el valor de $tabla[$i] como parámetro para la función strlen(), pero ese valor todavía no esta definido, porque justamente lo estás asignando en esa línea. Si explicás mejor lo que querés hacer capaz que te podemos ayudar un poco más.
Saludos.
__________________
¿Se me entiende la letra?
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:08.