Foros del Web » Programando para Internet » PHP »

No funciona ECHO de un elemento de un ARRAY

Estas en el tema de No funciona ECHO de un elemento de un ARRAY en el foro de PHP en Foros del Web. Alguien me puede decir porque no me muestra un elemento del array ??? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $sql = "Select CodCliente from cliente" ...
  #1 (permalink)  
Antiguo 22/04/2010, 12:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
No funciona ECHO de un elemento de un ARRAY

Alguien me puede decir porque no me muestra un elemento del array ???

Código PHP:
Ver original
  1. $sql = "Select CodCliente from cliente";
  2.                 $conn = mysql_connect("localhost","root","3ntradA");
  3.                 $rs = mysql_db_query("banred",$sql);
  4.                 $total = mysql_num_rows($rs);
  5.                 $e=1;
  6.                 $i=1;
  7.                 while($fila=mysql_fetch_array($rs)){
  8.                     $Codigo[$e]=$fila['CodCliente'];
  9.                     while($i!=$reg_buscar){
  10.                         $i++;
  11.                     }  
  12.                 }  
  13.                 echo $Codigo[$i];
  #2 (permalink)  
Antiguo 22/04/2010, 12:10
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: No funciona ECHO de un elemento de un ARRAY

simple lógica colega, si te fijas el aumentador del contador ($i) está al final y la condición del bucle (while) arriba, entonces el contador queda una posición después del último valor del array, es decir, si tu array tuvo 3 elementos el contador se quedó en 4


De hecho... $i quizás podría no contener 1 cuando tu array podría tener un elemento o cero elementos. Y que, de hecho, no se que utilidad tiene este segmento de código:


Código PHP:
Ver original
  1. while($i!=$reg_buscar){
  2.                         $i++;
  3.                     }

Última edición por rpv; 22/04/2010 a las 12:13 Razón: Agregar info
  #3 (permalink)  
Antiguo 22/04/2010, 12:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: No funciona ECHO de un elemento de un ARRAY

Bueno, lo planteo de otra manera, el codigo asi lo hice para probar.
El tema no esta ahi, esa no fue mi pregunta. Mi pregunta es "Porque no me muestra el elemento del array con el echo $Codigo[$i]; independientemente del valor $i.

En resumen, supongamos que tengo 5 datos en el array que obtuve de la base de datos.
Quiero mostrar el elemento 3, osea echo $Codigo[3];
Bueno pues es lo mismo que simulo con el $i. Cuando el segundo bucle para, me da esa posicion.
Bueno pues eso es lo que no me muestra.
Gracias
  #4 (permalink)  
Antiguo 22/04/2010, 12:23
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 9 meses
Puntos: 66
Respuesta: No funciona ECHO de un elemento de un ARRAY

Mira este aporte:

http://www.forosdelweb.com/f18/datos...aporte-799978/
__________________
Tu álbum de cromos online!!
  #5 (permalink)  
Antiguo 22/04/2010, 12:24
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: No funciona ECHO de un elemento de un ARRAY

Cita:
Iniciado por andyuruguayo Ver Mensaje
Bueno, lo planteo de otra manera, el codigo asi lo hice para probar.
El tema no esta ahi, esa no fue mi pregunta. Mi pregunta es "Porque no me muestra el elemento del array con el echo $Codigo[$i]; independientemente del valor $i.

En resumen, supongamos que tengo 5 datos en el array que obtuve de la base de datos.
Quiero mostrar el elemento 3, osea echo $Codigo[3];
Bueno pues es lo mismo que simulo con el $i. Cuando el segundo bucle para, me da esa posicion.
Bueno pues eso es lo que no me muestra.
Gracias

Amigo, parte del problema del por qué no te imprime es por $i, no puedes imprimir un elemento del array que no exista, te sugiero que primero corrobores que tu array tenga los elementos que tu imaginas, con:

Código PHP:
Ver original
  1. var_dump($Codigo);

de allí ya se puede ver si el error es en verdad del $i.

Adicionalmente, es de buenas prácticas inicializar la variable array de la forma:

Código PHP:
Ver original
  1. $Codigo=array();

antes de usarla:

Código PHP:
Ver original
  1. $Codigo[$posición]=$valor;
  #6 (permalink)  
Antiguo 22/04/2010, 12:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: No funciona ECHO de un elemento de un ARRAY

Gracias rpv, pero si llego al punto de plantearlo en la web es porque ya probe ingresando valores a mano en el array. Se como se usa, y se que es conveniente iniciar las variables tambien.
Lo que pregunto en concreto es si hay algo en la sentencia echo que haga que no me muestre el array. Quizas la sintaxis esta mal y existe alguna otra manera de mostrar un elemento de un array.
Y gracias Santris, voy a mirar eso y te comento algo
  #7 (permalink)  
Antiguo 22/04/2010, 12:46
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: No funciona ECHO de un elemento de un ARRAY

Hay tres posibilidades de error:

1: Usas una función descontinuada: mysql_db_query. ( puedes ver un ejemplo de como enmendar este error en la documentación oficial: http://www.php.net/mysql_db_query )
2: Insisto, primero hay que corroborar que: A. El array contenga elementos, B. Que imprimas un elemento que de verdad exista en el array.
3: No sé que intentas hacer con el sub bucle, pero a todas luces parece un error lógico.

Última edición por rpv; 22/04/2010 a las 12:47 Razón: Adición
  #8 (permalink)  
Antiguo 22/04/2010, 12:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: No funciona ECHO de un elemento de un ARRAY

Ya quedo solucionado.
En vez de poner el echo $Codigo[$i]; lo que hice fue pedirle echo $Codigo[$reg_buscado].
Da la casualidad que $reg_buscado viene de un POST y es la posicion que necesito buscar, ya no necesito mas el bucle de la $i y con esto basto.
Nunca entendere porque no le gusta la $i y si le gusta la $reg_buscado pero la cosa es que ya funciona.

Gracias a todos !!!
Gracias rpv

Etiquetas: echo
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 21:20.