Foros del Web » Programando para Internet » PHP »

problema con mi codigo; no logro declarar correctamente mi variable $i

Estas en el tema de problema con mi codigo; no logro declarar correctamente mi variable $i en el foro de PHP en Foros del Web. Hola a todos. comento que estoy iniciando en este mundo de php y estoy atascado hace un rato con un error el cual no logro ...
  #1 (permalink)  
Antiguo 13/08/2011, 06:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta problema con mi codigo; no logro declarar correctamente mi variable $i

Hola a todos. comento que estoy iniciando en este mundo de php y estoy atascado hace un rato con un error el cual no logro solucionar...

tengo un codigo el cual mando el valor de los vectores a una variable session para luego procesarlas en otra pagina... mi problema es que mi codigo me esta tirando error con una variable llamada $i, la cual es un indice... si no la declaro me tira error, pero si la declaro como $i=0 me agarra solo el primer valor (logico)...

intente dandole valores a ese $i, como por ejemplo $i= 2; y asi fue procesando los datos correctamente y en mi prox pagina me los muestra tal como quiero... pero si no logro hacer que ese $i valla obteniendo el valor necesario en funcion al registro que biene...casi como un ciclo for...no me resulta y obtengo solo el valor que le agrego en un principio...

Código PHP:
<?php

while($rowmysql_fetch_array($query))



$ident[] = $row['ident'];
$nombre[]= $row['nombre_farm'];

$_SESSION["nombre"]= $nombre[$i]; 
$_SESSION["ident"]= $ident[$i];

}

?>

=========

Notice: Undefined variable: i in C:\wamp\www\pagina\prueba.php on line 118

Notice: Undefined index: in C:\wamp\www\pagina\prueba.php on line 118

Notice: Undefined variable: i in C:\wamp\www\pagina\prueba.php on line 119

Notice: Undefined index: in C:\wamp\www\pagina\prueba.php on line 119

Notice: Undefined variable: i in C:\wamp\www\pagina\prueba.php on line 120

Notice: Undefined index: in C:\wamp\www\pagina\prueba.php on line 120
====

Las lineas mencionadas son donde estan las variables SESSION...

Bueno obviamente entiendo que devo declarar mi variable $i por lo que dice el error, la defino como $i=0, pero hay entro a otro problema ya que siempre me agarra el primer valor, lo cual es bastante lógico...
Como puedo solucionar esto??..Intente solucionarlo con un:

Código PHP:
$xmysql_num_rows($query);
while(
$rowmysql_fetch_array($query))


$i=$x;

... 
También intente con $i=" ";
pero tampoco me resulta...

Qué otra cosa puedo intentar???

Saludos
  #2 (permalink)  
Antiguo 13/08/2011, 06:34
Avatar de jmacc  
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: problema con mi codigo; no logro declarar correctamente mi variable $i

Lo que dice es que tu variable no esta definida usa isset($_SESSION["nombre"])
  #3 (permalink)  
Antiguo 13/08/2011, 07:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: problema con mi codigo; no logro declarar correctamente mi variable $i

No entiendo bien que un intentas hacer pero creo seria asi:
<?php
$i=0;
while($row= mysql_fetch_array($query))
{
$ident[] = $row['ident'];
$nombre[]= $row['nombre_farm'];

$_SESSION["nombre"]= $nombre[$i];
$_SESSION["ident"]= $ident[$i];
$i++;
}
?>
Si no me equiboco esto te va a ir pisando las variables de session y en ves del primer valor te va a quedar el ultimo valor asignado, yo lo haria asi:
<?php
$i=0;
while($row= mysql_fetch_array($query))
{
$ident[] = $row['ident'];
$nombre[]= $row['nombre_farm'];

$_SESSION["nombre"][]= $nombre[$i];
$_SESSION["ident"][]= $ident[$i];
$i++;
}
?>
o mejor asi:
<?php
while($row= mysql_fetch_array($query))
{
$_SESSION["nombre"][]= $row['ident'];
$_SESSION["ident"][]= $row['nombre_farm'];
}
?>
  #4 (permalink)  
Antiguo 13/08/2011, 08:07
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: problema con mi codigo; no logro declarar correctamente mi variable $i

Fíjate en la parte comentada que te puse en tu código.
Código PHP:
<?php

while($rowmysql_fetch_array($query))



$ident[] = $row['ident'];

// row['nombre_farm'] no puede ser un array es el valor del campo
// por lo que tu array sólo va a tener un elemento

$nombre[]= $row['nombre_farm'];

$_SESSION["nombre"]= $nombre[$i]; 
$_SESSION["ident"]= $ident[$i];

}

?>
Pero si tu después con algún código no posteado lo conviertes en array,
recuerda que no solo existen los bubles for y while...
Podrías usar foreach
Código PHP:
´<?php

$nombre
[]= $row['nombre_farm']; //suponiendo que esto lo pases a un array

foreach ($nombre as $key => $value)
    echo 
$a[$key].'<br>';
?>
Y como sugerencia: Dado que sólo usas el array asociativo tendía más logica usar un fecth_assoc antes que un fecth_array.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Etiquetas: correctamente, declarar, mysql, registro, variables
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 01:28.