Foros del Web » Programando para Internet » PHP »

seleccionar un solo elemento de un array

Estas en el tema de seleccionar un solo elemento de un array en el foro de PHP en Foros del Web. buen día a todos! les tengo una consulta, tengo un formulario select que despliega valores de una base de datos a través de un array, ...
  #1 (permalink)  
Antiguo 21/07/2012, 19:27
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Pregunta seleccionar un solo elemento de un array

buen día a todos! les tengo una consulta, tengo un formulario select que despliega valores de una base de datos a través de un array, el problema es que no he encontrado la manera de que el valor seleccionado sea extraído del array y almacenado en el "name" podrían darme alguna pista? gracias!
  #2 (permalink)  
Antiguo 21/07/2012, 19:31
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: seleccionar un solo elemento de un array

Saludos, pero imagino los valores viajan en un submit del formulario hacia la misma o hacia otra página, los valores llegan bien?? el problema es al guardar??
creo que falta claridad en el tema
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 21/07/2012, 19:35
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: seleccionar un solo elemento de un array

Porque recibes esos datos en un array, no te funcion POST ni GET, que sucede exactamente
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #4 (permalink)  
Antiguo 21/07/2012, 19:44
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: seleccionar un solo elemento de un array

si te llegan los datos de un select como array entonces etás haciendo algo mal, a menos que sea un select multiple.

en todo caso si tienes algo así:

<select name="varios">

para seleccionar uno solo debes hacer $var = $_POST['varios'];
$seleccionar1 = $var[1];
  #5 (permalink)  
Antiguo 21/07/2012, 19:54
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: seleccionar un solo elemento de un array

gracias a todos, les aclaro, el problema no es al jalar los datos de la tabla, ya que si me los despliega bien, lo que no me funciona es a la hora de seleccionar un elemento de la lista y hacerle un echo $_POST['variable'] ya que me sale en blanco... y por lo tanto no me esta jalando la variable que seleccione del array
  #6 (permalink)  
Antiguo 21/07/2012, 20:14
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: seleccionar un solo elemento de un array

O sea que tienes un select dinamico que se llena con dastos de la tabla.

supongo que estas usando php estructurado
Código PHP:
Ver original
  1. <?php
  2. $sql = "SELECT";
  3. $datos = mysql_query($sql);
  4. ?>
  5. <select name="varios">
  6. <?php
  7. while($res = mysql_fecth_array($datos)){
  8. ?>
  9.     <option value="<?php echo $res['valor']?>"><?php echo $res['nombre_valor']?></option>
  10. <?php
  11. }
  12. </select>
  #7 (permalink)  
Antiguo 22/07/2012, 11:53
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Pregunta Respuesta: seleccionar un solo elemento de un array

Cita:
Iniciado por memoadian Ver Mensaje
O sea que tienes un select dinamico que se llena con dastos de la tabla.

supongo que estas usando php estructurado
Código PHP:
Ver original
  1. <?php
  2. $sql = "SELECT";
  3. $datos = mysql_query($sql);
  4. ?>
  5. <select name="varios">
  6. <?php
  7. while($res = mysql_fecth_array($datos)){
  8. ?>
  9.     <option value="<?php echo $res['valor']?>"><?php echo $res['nombre_valor']?></option>
  10. <?php
  11. }
  12. </select>

Exactamente eso es lo que tengo memoadian, ahora en lo que estoy es que al seleccionar un elemento desplegado por <?php echo $res['nombre_valor']?> se guarde en una variable, para posteriormente poder manejar ese único dato... ya probé con $_post['varios'] pero no no me jala ningún valor... puedes darme alguna pista con esto?
  #8 (permalink)  
Antiguo 22/07/2012, 12:02
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: seleccionar un solo elemento de un array

Supongo que hablas de cuando haces submit.

Tendrás que verificar que estas mandano el post de ese select on print_r()

es muy raro que no te mande ningun valor si es que lo tienes como yo lo puse. Depura tu código, a veces nos pasa que el error es donde menos pensamos, como duplicar names u otras cosas.
  #9 (permalink)  
Antiguo 22/07/2012, 12:55
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Pregunta Respuesta: seleccionar un solo elemento de un array

lo he estado revisando paso a paso pero no veo donde cometí el error, esto es lo que tengo

<html>
<body>

<?php
require_once("conexion3.php");
?>


<form action="POST.php" method="post">
<select name="com">
<?php while($arreglo = mysql_fetch_array($q)) { ?>
<option value="<?php $arreglo['empresa']?>"><?php echo $arreglo['empresa']?></option> <?php }?>
</select>
<input type="submit" value="Enviar sugerencia" name = "enviar">
</form>


</body>
</html>

y en el POST.php lo unico que estoy poniendo es esto

<html>
<body>


<?php

echo $_POST['com']



?>
</body>
</html>

pero solo me da una pagina en blanco..

utilicé tambien lo que me sugeriste mas arriba

$var = $_POST['varios'];
$seleccionar1 = $var[1];

pero me da este error Notice: Uninitialized string offset: 1

Última edición por ANDRESDD; 22/07/2012 a las 13:01
  #10 (permalink)  
Antiguo 22/07/2012, 13:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: seleccionar un solo elemento de un array

Porque no pruebas con esto:

Código PHP:
Ver original
  1. print_r($_POST["com"]);// haber si quiere darte algo
.
  #11 (permalink)  
Antiguo 22/07/2012, 14:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: seleccionar un solo elemento de un array

de todas formas también veo que te falta un ; al final de
Código PHP:
Ver original
  1. echo $_POST['com'];
  #12 (permalink)  
Antiguo 22/07/2012, 14:06
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: seleccionar un solo elemento de un array

:S sigue sin enviarme la variable...
  #13 (permalink)  
Antiguo 22/07/2012, 14:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: seleccionar un solo elemento de un array

creo que el fallo lo tienes en la siguiente línea:

Código PHP:
Ver original
  1. <option value="<?php $arreglo['empresa']?>"><?php echo $arreglo['empresa']?></option>    <?php }?>

te falta <option value="<?php echo $arreglo['empresa']?>">


quedaría así para que funcionase:

Código PHP:
Ver original
  1. <option value="<?php  echo $arreglo['empresa']?>"><?php echo $arreglo['empresa']?></option>  <?php }?>

Te he marcado en color rojo lo que te falta.
  #14 (permalink)  
Antiguo 23/07/2012, 00:32
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: seleccionar un solo elemento de un array

bueno bueno! gracias a todos sus comentarios ya logre avanzar en el código, ya las variables trabajan bien mostrándome los elementos que seleccioné de la lista.

Les explico, en mi codigo hay dos botones select, el A y el B, el fin es seleccionar un elemento del A y asignarle un valor del B, la mayoría salió bien. Al presionar submit los valores se actualizaron en mi base de datos PERO únicamente cuando yo seleccionaba un valor de la lista A que fuera un número, es decir si seleccionaba "manzanas" de la lista A y le daba un valor de la B no me lo actualizaba en la base de datos, pero si en en la A seleccionaba por ejemplo "5" y le daba un valor de la B entonces si me actualizaba los datos... asi que bueno me decidí por buscar el ID de los elementos de la lista A y asi trabajar solo con números...

ahora tengo este código que me saca el mensaje "Parse error: syntax error, unexpected $end on line 16" que me hace falta?



<?php

require_once("conexion2.php");

$registro=mysql_query("select id from com1 where em2='$_POST[com]'");
$reg=mysql_fetch_array($registro);

mysql_query("UPDATE com1 SET cal3=".$_POST['cali']." WHERE id=".$reg['id'].", $conexion)

?>
  #15 (permalink)  
Antiguo 23/07/2012, 08:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: seleccionar un solo elemento de un array

Cita:
Iniciado por ANDRESDD Ver Mensaje
que me hace falta?
Clases de php, no puedes andar preguntando por ahí ese tipo de cosas.
  #16 (permalink)  
Antiguo 23/07/2012, 12:09
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: seleccionar un solo elemento de un array

Cita:
Iniciado por memoadian Ver Mensaje
Clases de php, no puedes andar preguntando por ahí ese tipo de cosas.
si bueno no llevo ni tres semanas de que empecé con esto y creo que he avanzado bastante, talvez a ti te hagan falta clases de cortesía... al final de cuentas para aprender fue que entre a este foro, no para que me sensuren de esta manera.
  #17 (permalink)  
Antiguo 23/07/2012, 13:23
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: seleccionar un solo elemento de un array

Nunca te censure, pero tampoco puedes decir ¿que tengo mal aqui? desde el principio te ayudé pero cuando empiezas a querer que te revisen como escribes el código que es una cosa básica.

Entonces vienen los problemas, una cosa es querer aprender y otra preguntar que tienes mal en cada linea.

Etiquetas: formulario, select
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 13:45.