Foros del Web » Programando para Internet » PHP »

:: Obtener datos de un array (while) ::

Estas en el tema de :: Obtener datos de un array (while) :: en el foro de PHP en Foros del Web. Hola a todos.... gracias de antemano por la ayuda que puedan darme con esto... tengo un formulario que tiene una tabla que me lista varias ...
  #1 (permalink)  
Antiguo 21/12/2017, 10:05
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta :: Obtener datos de un array (while) ::

Hola a todos....

gracias de antemano por la ayuda que puedan darme con esto...
tengo un formulario que tiene una tabla que me lista varias datos segun una consulta a mysql.... esta tabla tiene una columna con un input type radio, el cual, al dejarlo selecccionado el usuario , y a dar click en boton de formulario, me envia a otra pagina que hace una nueva consulta y me entrega los resultados segun el "id" seleccionado.....
no tengo problemas al sacar el Numero del id, y hacer la consulta .. el prooooblema.... es que quiero usar OTRO valor de esa misma fila seleccionada (valro de otro array... y no se como pasar esa segunda variable ..

la tabla de la primera pagina, la hago asi...

Código PHP:
//realizamos la busqueda en la base de datos
$pegar "SELECT * FROM bla... bla... bla.... etc.. etc.. ".$inicio." , ".$registros." ";


$cad mysql_query($pegar,$con) or die ( 'error al listar, $pegar' .mysql_errno());


//imprimiendo los resultados

echo '<table align="center" border="0" cellpadding="3" cellspacing="0">';
echo 
'<tr><td align="center">Seleccionar</td>';
echo 
'<td align="center">N.C. N°</td>';
echo 
'<td align="center">VENDEDOR</td>';
echo 
'<td align="center">CLIENTE</td>';
echo 
'<td align="center">PROVEEDOR</td>';
echo 
'<td align="center">PESO TOTAL</th> </td>';
echo 
'<td align="center">FECHA CREACION</td>';
echo 
'</tr>';



while (
$array mysql_fetch_array($cad))

{

$fecha_nota=cambiarFormatoFecha($array['fecha']);
$peso_total=number_format($array['peso_total_gral'], 2","".");


echo 
'<tr>';
echo 
'<td align="center"><input type="radio" name="seleccion[]" value='.$array['id'].'</td>';
echo 
'<td align="center">'.$array['id']. '</td>';
echo 
'<td align="center">'.$array['vendedor']. '</td>';
echo 
'<td align="center">'.$array['cliente']. '</td>';
echo 
'<td align="center">'.$array['proveedor']. '</td>';
echo 
'<td width="150" align="right">'.$peso_total." Kg".'</td>';
echo 
'<td align="center">'.$fecha_nota.'</td>';
echo 
'</tr>';


en la pagina siguiente, obtengo el valor del input radio "seleccion[]" de la siguiente forma....

Código PHP:
foreach($_POST['seleccion'] as $opcion)

   
$seleccionado=$opcion;
   echo 
$seleccionado;

de ahi ya hago todo con la variable "$seleccionado"... el teeema es que necesito tb pasar el valor de $array['proveedor'] de la pagina del formulario a la pagina siguiente....

y no se comooooooo.... he tratado hasta de concatenar valores en una nueva variable, pero no me pasa nada....

favor ayuda
  #2 (permalink)  
Antiguo 21/12/2017, 12:36
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: :: Obtener datos de un array (while) ::

podrias crearte un input oculto por cada fila que envie este valor:

Código PHP:
Ver original
  1. <input type="hidden" name="proveedor" value="'.$array['proveedor'].'"/>
y listo
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 21/12/2017, 12:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: :: Obtener datos de un array (while) ::

aunque no me queda claro como estas realizando el envio de la data porque no muestras el codigo asi que mi respuesta puede cambiar en consecuencia de este
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 21/12/2017, 12:43
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: :: Obtener datos de un array (while) ::

o esta opcion pasando como json el valor de los imput radio con los dos valores que requieres

Código PHP:
Ver original
  1. '<td align="center"><input type="radio" name="seleccion[]" value='.json_encode(array("id"=>$array['id'], "proveedor"=>$array['proveedor'])).'</td>'

Código PHP:
Ver original
  1. foreach($_POST['seleccion'] as $opcion)
  2. {  
  3.     $opciones = json_decode($opcion,true);
  4.    $seleccionado=$opciones[0];//obtengo el id
  5.    $proveedor=$opciones[1] //obtengo el proveedor
  6.    echo $seleccionado;
  7.    echo $proveedor;
  8. }
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 21/12/2017, 14:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: :: Obtener datos de un array (while) ::

Cita:
Iniciado por xfxstudios Ver Mensaje
o esta opcion pasando como json el valor de los imput radio con los dos valores que requieres

Código PHP:
Ver original
  1. '<td align="center"><input type="radio" name="seleccion[]" value='.json_encode(array("id"=>$array['id'], "proveedor"=>$array['proveedor'])).'</td>'

Código PHP:
Ver original
  1. foreach($_POST['seleccion'] as $opcion)
  2. {  
  3.     $opciones = json_decode($opcion,true);
  4.    $seleccionado=$opciones[0];//obtengo el id
  5.    $proveedor=$opciones[1] //obtengo el proveedor
  6.    echo $seleccionado;
  7.    echo $proveedor;
  8. }
es un formulario que se pasa a traves de POST...
Master... probe que lo que me indicas, pero simplemente no me arooja ningun valor....

detalle..... falto un ";"--- pero igual no arroja nada

$proveedor=$opciones[1] ; <----- //obtengo el proveedor

Última edición por icarocu; 21/12/2017 a las 14:01 Razón: detalle
  #6 (permalink)  
Antiguo 21/12/2017, 19:53
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: :: Obtener datos de un array (while) ::

Prueba de esta manera:

Código PHP:
Ver original
  1. '<td><input type="radio" name="seleccion[]" value='.json_encode(array("id"=>$array['id'], "proveedor"=>$array['proveedor'])).'/></td>'

Código PHP:
Ver original
  1. foreach($_POST['seleccion'] as $opcion)
  2.         {  
  3.             $opciones = json_decode($opcion,true);
  4.             $seleccionado=$opciones['id'];//obtengo el id
  5.             $proveedor=$opciones['proveedor']; //obtengo el proveedor
  6.             echo $seleccionado;
  7.             echo $proveedor;
  8.         }

igual tambien prodrias mandarlo así:
Código PHP:
Ver original
  1. '<td><input type="radio" name="seleccion[]" value='.json_encode(array($array['id'],  $array['proveedor'])).'/></td>'

Código PHP:
Ver original
  1. foreach($_POST['seleccion'] as $opcion)
  2.         {  
  3.             $opciones = json_decode($opcion,true);
  4.             $seleccionado=$opciones[0];//obtengo el id
  5.             $proveedor=$opciones[1]; //obtengo el proveedor
  6.             echo $seleccionado;
  7.             echo $proveedor;
  8.         }
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 22/12/2017, 05:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: :: Obtener datos de un array (while) ::

Gracias men.. pero probe AMBOS metodos y no me entrega NINGUN VALOR... CERO.. NADA...

BUSCARE OTRA FORMA... GRACIAS TOTALES!!!!
  #8 (permalink)  
Antiguo 22/12/2017, 06:39
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: :: Obtener datos de un array (while) ::

algo estas haciendo BASTANTE mal, porque en las pruebas me entrega los valores sin problemas

PRUEBA

Revisa tu código a ver que estas haciendo mal.

Saludos
__________________
[email protected]
HITCEL

Etiquetas: formulario, mysql, select, tabla, variable
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 03:24.