Foros del Web » Programando para Internet » PHP »

PHP OO marcar opciones de multiselect en base a consulta php-mysql

Estas en el tema de marcar opciones de multiselect en base a consulta php-mysql en el foro de PHP en Foros del Web. Que tal buen día les comento mi caso estoy haciendo un formulario para registro de información (PHP) a una base de datos Mysql, lo que ...
  #1 (permalink)  
Antiguo 14/04/2016, 16:23
 
Fecha de Ingreso: abril-2016
Mensajes: 3
Antigüedad: 8 años, 1 mes
Puntos: 0
Información marcar opciones de multiselect en base a consulta php-mysql

Que tal buen día les comento mi caso estoy haciendo un formulario para registro de información (PHP) a una base de datos Mysql, lo que tengo es que dentro del formulario tengo un campo multiselect en donde si selecciono varios registro los almacena a una tabla, (1 registro por cada opción seleccionada del multiselect), ahora al momento de actualizar información quiero recuperar la información que se almaceno a la base de datos, pero el problema es que no se como volver a marcar las opciones del multiselect que fueron almacenadas en un inicio, solo me marca el primer valor y no todas las almacenadas



parte de la estructura de mi BD es la siguiente: :nerd:

Tabla1: genero
atributos: idGenero (int), genero (varchar)
EN ESTA ES DONDE SE ALMACENAN los nombres de géneros de ropa


tabla2: prenda_genero
atributos: idPrenGen(int), idGenero(int)
EN LA TABLA 2 ALMACENO CADA OPCIÓN MARCADA DEL MULTISELECT

CONSULTAS CREADAS:
$row_obtenerGenero : consulta los nombres de los generos de tabla1
$row_generoAlmacenado: consulta los registros almacenados de la tabla2

EL DO --> WHILE --> LO UTILIZO PARA LISTAR TODOS LOS VALORES DISPONIBLES de la tabla1 y ponerlos en las opciones del multiselect


AHORA SI dejo mi código de esta parte, espero y me puedan ayudar porfavor







<select name="ms[]" multiple="multiple" id="ms">
<?php
do {
?>

AQUI ES DONDE INTENTO RECUPERAR LOS VALORES QUE SE ALMACENARON EN LA TABLA2 Y MARCARLOS EN EL CAMPO MULTISELECT PERO SOLO ME SELECCIONA EL PRIMER REGISTRO ALMACENADO EN LA BD (TABLA2)


<option value="<?php echo $row_obtenerGenero['idGenero']?>"
<?php if (!(strcmp($row_obtenerGenero['idGenero'], $row_generoAlmacenado['idGenero']))) {
echo 'selected="selected"';
} ?>>




<?php echo $row_obtenerGenero['genero']?></option>



<?php
} while ($row_obtenerGenero = mysql_fetch_assoc($obtenerGenero));
$rows = mysql_num_rows($obtenerGenero);
if($rows > 0) {
mysql_data_seek($obtenerGenero, 0);
$row_obtenerGenero = mysql_fetch_assoc($obtenerGenero);
}
?>
</select>
  #2 (permalink)  
Antiguo 15/04/2016, 03:19
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: marcar opciones de multiselect en base a consulta php-mysql

Código PHP:
Ver original
  1. <?php if ((strcmp($row_obtenerGenero['idGenero'], $row_generoAlmacenado['idGenero'])==0) {
  2. echo 'selected="selected"';
  3. } ?>>

Por favor evita el uso de mayúsculas es incomodo de leer.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 15/04/2016, 08:42
 
Fecha de Ingreso: abril-2016
Mensajes: 3
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: marcar opciones de multiselect en base a consulta php-mysql

xerifandtomas agradezco tu respuesta pero aun poniendo lo que me comentas sigue igual solo me marca en el multiselect el primer registro

Etiquetas: mysql+consulta
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 07:47.