PHP - Modificar registro con combobox en php

 
Vista:
sin imagen de perfil
Val: 16
Ha disminuido su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Modificar registro con combobox en php

Publicado por Joe (15 intervenciones) el 13/07/2016 05:33:32
Hola buenas noches, lo que pasa es que tengo el siguiente problema.

Tengo una tabla html formada por nombre, edad y departamento.

Nombre y edad los tomo de una tabla en mysql llamada persona y departamento de otra tabla distinta (llamada departamento).

En dicha tabla html doy al usuario la opción de modificar la información.

El problema es que ala ora de mostrar los datos de la tabla departamento en un combobox, no logro hacer quede seleccionado el departamento con el que ya esta registrado el usuario.

Agradecería me pudieran ayudar con mi problema.

Gracias de antemano y Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Modificar registro con combobox en php

Publicado por kip (877 intervenciones) el 13/07/2016 06:20:30
Hola, una vez que tengas el dato que extraes de la base podrias usar el atributo selected en el option que sea igual a aquel dato que traes de la base, para ello podrias hacer un if en cada option, pero lo mas optimo es crear un array con las opciones desde php y con un bucle for crear los option basandose en las iteraciones que habra por cada valor del array, y en aquel mismo ciclo evaluar, algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<select name="depto">
<?php
$options = array( 'departamento1', 'departamento2', 'departamento3' );//array con opciones
$dptobase = 'departamento3';
$output = '';
for( $i=0; $i<count($options); $i++ ) {//inicio el bucle for
  $output .= '<option '
             . ( $dptobase == $options[$i] ? 'selected="selected"' : '' ) . '>'//evaluo
             . $options[$i]//datos del array
             . '</option>';
}
echo $output;//muestro los option
?>
</select>

Espero se entienda, nos cuentas como te fue.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Modificar registro con combobox en php

Publicado por Joe (15 intervenciones) el 13/07/2016 07:31:29
Hola disculpa, soy nuevo en php y no me quedo muy clara tu respuesta.

mira yo traigo los datos de la siguiente manera.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$query = mysql_query("SELECT empleado.nombre, empleado.apellidop,empleado.apellidom,empleado.sexo,empleado.usuario,empleado.pass,tipo_usuario.tipo FROM empleado "
                . "inner JOIN tipo_usuario ON empleado.ID_tipousuario=tipo_usuario.ID_tipo WHERE empleado.ID_empleado = '$id'");
        if(mysql_num_rows($query)==0) die("No hay registros para mostrar");
        while($row=mysql_fetch_array($query))
            {
            echo "
            <input type='text' name='nombre' value='$row[nombre]'></br>
            <input type='text' name='nombre' value='$row[apellidop]'></br>
            <input type='text' name='nombre' value='$row[apellidom]'></br>
            <input type='text' name='nombre' value='$row[sexo]'></br>
            <input type='text' name='nombre' value='$row[usuario]'></br>
            <input type='text' name='nombre' value='$row[pass]'></br>
              $row[tipo]";
            }
En $row[tipo] se guarda el tipo de usuario que tiene el usuario.

1
2
3
4
5
6
7
8
9
10
11
echo "<SELECT NAME='tipo_empleado'>";
    echo"<option>Tipo Usuario</option>";
            $sql="SELECT * from tipo_usuario";
$result= mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)==0) die("No hay registros para mostrar");
while($row=mysql_fetch_array($result))
{
 echo'<OPTION VALUE="'.$row['ID_tipo'].'">'.$row['tipo'].'</OPTION>';
 
}
echo '</select>';

De esa manera lleno el select con lo que tengo en la base de datos.
Como se mira el select se llena con los datos pero no selecciono el tipo de empleado al que pertenece el usuario a modificar.

Agradecería me pudieras orientar o que me digas que estoy asiendo mal.

De antemano muchas gracias, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Modificar registro con combobox en php

Publicado por kip (877 intervenciones) el 13/07/2016 18:16:21
Suponiendo que solo extraes un solo dato de la primera consulta almaceno en una variable tl tipo de usuario y luego en el while de la segunda consulta haces un if, algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
$query = mysql_query("SELECT empleado.nombre, empleado.apellidop,empleado.apellidom,empleado.sexo,empleado.usuario,empleado.pass,tipo_usuario.tipo FROM empleado "
                . "inner JOIN tipo_usuario ON empleado.ID_tipousuario=tipo_usuario.ID_tipo WHERE empleado.ID_empleado = '$id'");
        if(mysql_num_rows($query)==0) die("No hay registros para mostrar");
        while($row=mysql_fetch_array($query))
            {
            echo "
            <input type='text' name='nombre' value='$row[nombre]'></br>
            <input type='text' name='nombre' value='$row[apellidop]'></br>
            <input type='text' name='nombre' value='$row[apellidom]'></br>
            <input type='text' name='nombre' value='$row[sexo]'></br>
            <input type='text' name='nombre' value='$row[usuario]'></br>
            <input type='text' name='nombre' value='$row[pass]'></br>
              $row[tipo]";
            $tipo_user = $row['tipo'];
            }
 
            echo "<SELECT NAME='tipo_empleado'>";
			    echo"<option>Tipo Usuario</option>";
			            $sql="SELECT * from tipo_usuario";
			$result= mysql_query($sql) or die(mysql_error());
			if(mysql_num_rows($result)==0) die("No hay registros para mostrar");
			while($row=mysql_fetch_array($result))
			{
			 echo'<OPTION'.if($row['tipo'] == $tipo_user){echo 'selected="selected'}.' VALUE="'.$row['ID_tipo'].'">'.$row['tipo'].'</OPTION>';
 
			}
			echo '</select>';

Comentanos si te funciona.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Modificar registro con combobox en php

Publicado por Joe (15 intervenciones) el 15/07/2016 02:34:44
Muchas Gracias Bro

Funciono a la perfección.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar