Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Leer datos de un Select Multiple

Estas en el tema de Leer datos de un Select Multiple en el foro de PHP en Foros del Web. Hola a todos. Tengo un Select Multiple donde he seleccionado varios elementos. Cómo hago para tomar los campos seleccionados y asignarlos a variables PHP y ...
  #1 (permalink)  
Antiguo 28/04/2013, 19:32
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Leer datos de un Select Multiple

Hola a todos.

Tengo un Select Multiple donde he seleccionado varios elementos.

Cómo hago para tomar los campos seleccionados y asignarlos a variables PHP y poder insertarlos en una tabla MySql.

Gracias de Antemano.
  #2 (permalink)  
Antiguo 28/04/2013, 19:40
 
Fecha de Ingreso: abril-2013
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Leer datos de un Select Multiple

Tendrías que plantear el select name como un array y despues cuando lo recuperés, recorrer los elementos del array, es decir:

<select multiple name="nombre[]">
<option></option>
<option></option>
<option></option>
...

En PHP.

$valores= $_POST['nombre'];

for($i = 0; $i<count('valores');$i++)
//Hacer lo que se deba...

Espero te haya servido, saludos!
  #3 (permalink)  
Antiguo 28/04/2013, 20:27
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Leer datos de un Select Multiple

Gracias por tu respuesta.

Pero no me funciono.

Tengo un Select Multiple llamado lista. Que contiene datos de ciudades de un departmento. ( Lista es un Select dependiente).

Probe el código que me enviaste de esta manera.

<?php
$query = $_POST["lista"];
for($i = 0; $i<count("$query");$i++)
{
echo "<br> Ciudad . ": " . $query[$i];
}

?>


Pero solo me muestra

Ciudad 0: 1
  #4 (permalink)  
Antiguo 28/04/2013, 20:33
 
Fecha de Ingreso: abril-2013
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Leer datos de un Select Multiple

El name del select es "lista" o "lista[]"?
  #5 (permalink)  
Antiguo 28/04/2013, 21:05
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Leer datos de un Select Multiple

Es lista[]. y solo me muestra el primer dato

Te anexo el Código: archivo php principal

<?php
include("connect_db.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#dpto').change(function(){
var id=$('#dpto').val();
$('#municipio').load('ajax.php?id='+id);

});
});
</script>
</head>
<body>
<form action="selciudad.php" method="POST" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<?php
$consulta=mysql_query("select * from departamento order by nompto ASC");
echo "<select name='dpto' id='dpto'><option selected>Seleccione un Departamento</option>";
while ($fila=mysql_fetch_array($consulta)){
echo "<option value='".$fila[0]."'>".utf8_encode($fila[1])."</option>";
}
echo "</select>";
?>
<div id="municipio">
<select multiple size="5" name="lista[]">
</select>
</div>
<input type="submit" name="submit" value="Enviar"/>
<form>
</body>
</html>


ajax.php
<?php
include("connect_db.php");
$consulta = mysql_query("select codciu,nomciu from municipio where codpto=".$_GET['id']." order by nomciu ASC");
echo "<select multiple name='lista[]' id='municipio'>";
while ($fila = mysql_fetch_array($consulta)) {
echo "<option value='" . $fila[0] . "'>" . utf8_encode($fila[1]) . "</option>";
}
echo "</select>";
?>


selciudad.php
<?php
$query = $_POST["lista"];
for($i = 0; $i<count('$query');$i++)
{
echo "<br> Ciudad " . $i . ": " . $query[$i];
}

?>
  #6 (permalink)  
Antiguo 28/04/2013, 21:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 10 años, 2 meses
Puntos: 793
Respuesta: Leer datos de un Select Multiple

Aquí

Código PHP:
Ver original
  1. for($i = 0; $i<count('$query');$i++)

debe ser

Código PHP:
Ver original
  1. for ($i=0, $s = count($query); $i<$s; $i++)

o mejor

Código PHP:
Ver original
  1. foreach ($query as $q) {
  2.     echo $q;
  3. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 28/04/2013, 21:27
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Leer datos de un Select Multiple

Muchas gracias ahora si me imprime los datos seleccionados.
  #8 (permalink)  
Antiguo 28/04/2013, 21:59
 
Fecha de Ingreso: abril-2013
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Leer datos de un Select Multiple

Jejej se me pasó eso.
Bueno genial, saludos!
  #9 (permalink)  
Antiguo 28/04/2013, 22:22
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Respuesta: Leer datos de un Select Multiple

Tengo una nueva duda. En lista[] tengo dos campos codciudad y nomciudad.

En estos momentos me imprime codciudad. Cómo puedo hacer para que también me imprima el nomciudad.

Etiquetas: mysql, select, tabla, 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 16:53.