Foros del Web » Programando para Internet » PHP »

Ayuda ...No se me ocurre

Estas en el tema de Ayuda ...No se me ocurre en el foro de PHP en Foros del Web. Compañeros(as) Antes que todo saludarlos, les cuento mi problema hice una autetificacion de usuarios y por cada dato rescatado de la base datos hago una ...
  #1 (permalink)  
Antiguo 20/06/2007, 14:54
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Ayuda ...No se me ocurre

Compañeros(as)

Antes que todo saludarlos, les cuento mi problema hice una autetificacion de usuarios y por cada dato rescatado de la base datos hago una sesion (nombre, direccion, telefono, sexo, etc).

Asi busco los datos del usuario longuedo y creo mis sesiones:
Código PHP:
$conexBD Conectarse();

$query=mysql_query("SELECT * FROM socios1 WHERE nombre_usuario='$NombreUsuario' and pass='$Clave'",$conexBD)or die("Error en la consulta, MySQL dice: ".mysql_error());

$total_encontrados mysql_num_rows($query);         
if (
$total_encontrados<>0)
{
$array_datos_usuario=mysql_fetch_array($query);        
$_SESSION['nombre']=$array_datos_usuario[nombre];    
$_SESSION['Direccion']=$array_datos_usuario[direccion];    
$_SESSION['telefono']=$array_datos_usuario[telefono];            
$_SESSION['cargo']=$array_datos_usuario[cargo];        
$_SESSION['anexo']=$array_datos_usuario[anexo];        
$_SESSION['email']=$array_datos_usuario[email];        
$_SESSION['categoria']=$array_datos_usuario[categoria];    
header("Location: espacio_socio.php?".SID); 
exit; 
}
else
{
header("Location: ../index.php"); 
exit;     

Ahora en un formulario que la funcion es modificar los datos del usuario vuelco los datos de la sesion en los correspondientes input y tambien rescato todos los cargos que hay en la tabla cargos (como 110 Registros) en un combo.
Ahora la pregunta es la siguiente:

Si el usuario que se longeo tiene estos datos:
Nombre:Juan perez
Direccion: Viña del Mar, CHILE.
Cargo:Asistente Produccion
Email:[email protected]
Anexo:69325

Ahora viene la pregunta como yo puedo hacer para que en el comboBox que vuelco los datos de la tabla cargos me que seleccionado esa opcion (cargo:Asistente de Produccion) ya que me aparece el comboBox pero no selecinado el que corresponde que para este caso seria Asistente de produccion, osea que en vez de que me aparesca en el comboBox todos los datos de la tabla cargos deseo que me aparesca todos los datos de la tabla cargos pero que el primero que se vea sea asistente de Produccion.

Les dejo como tengo diseñado el formulario:
Código HTML:
<td width="500"><form action="valida_modificar_datos_socio.php" method="post" name="form1" id="form1">
      <table width="500" align="center">
        <tr>
          <td width="66"><div align="left"><strong>Nombre:</strong></div></td>
          <td width="413"><div align="left"><?php echo $_SESSION['nombre']; ?></div></td>
        </tr>
        <tr>
          <td><div align="left"><strong>Cargo:</strong></div></td>
          <td><div align="left">
              <?php	
		$nombre_cargo_socio= $_SESSION['cargo'];
		include("../conec.inc.php");
		$conex = Conectarse();
		$consulta="SELECT nombre_cargo FROM cargos";			$res=mysql_query($consulta,$conex);
		if(!$res)
		{
			echo ":Fallo en Rescatar datos de cargo";
		}
		else
		{
 			echo "<select name='combo_cargos'>";
			while ($fila=mysql_fetch_array($res))
			 {
   		                  echo "<option>", $fila['nombre_cargo'], "</option>";
			}
 	            }
 		             echo "</select>";
		?>
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><strong>Direccion:</strong></div></td>
          <td><div align="left">
              <input name="txt_anexo" type="text" style="border:1px solid #CCCCCC" id="txtmail" value="<?php echo $_SESSION['direccion'];?>" />
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><strong>Email:</strong></div></td>
          <td><div align="left">
              <input name="txt_mail" type="text" id="txtmail" style="border:1px solid #CCCCCC" value="<?php echo $_SESSION["email"];?>" size="35" />
          Preferentemente email Personal. </div></td>
        </tr>
        <tr>
          <td><div align="left"><strong>Categoria:</strong></div></td>
          <td><div align="left"><?php echo $_SESSION['categoria']; ?></div></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="btn_actualizar" type="submit" class="boton" id="btn_actualizar" value="Modificar"/></td>
        </tr>
      </table>
    </form> 
Eso compañeros espero haberme explicado bien.

Se agradece cualquier comentario
  #2 (permalink)  
Antiguo 20/06/2007, 15:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Ayuda ...No se me ocurre

Cuando dibujas tu combo, vas comparando si el cargo actual es igual al cargo del usuario, si lo es le agregas a tu option el atributo de "selected" para que sea la opcion predefinida.

Saludos.
  #3 (permalink)  
Antiguo 21/06/2007, 09:09
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Ayuda ...No se me ocurre

Gracias por tu Respuesta compañero GatorV.

Ahora deja entender lo que me has sugerido:Cuando dibujas tu combo, vas comparando si el cargo actual es igual al cargo del usuario, si lo es le agregas a tu option el atributo de "selected" para que sea la opcion predefinida.

Supongo que te refieres a esta parte cuando empiezo a llenar el combo con los datos de la tabla.

Código PHP:
<?php    
$nombre_cargo_socio
$_SESSION['cargo'];
include(
"../conec.inc.php");
$conex Conectarse();
$consulta="SELECT nombre_cargo FROM cargos";    
$res=mysql_query($consulta,$conex);
if(!
$res)
{
    echo 
":Fallo en Rescatar datos de cargo";
}
else
{
    echo 
"<select name='combo_cargos'>";
    while (
$fila=mysql_fetch_array($res))
     {
                  echo 
"<option>"$fila['nombre_cargo'], "</option>";
    }
}
echo 
"</select>";
?>
Pero lo que tu me dices... deberia ser fuera del while o dentro del while, segun yo deberia se dentro del while lo hice pero no me resulto, este es el codigo:

Código PHP:

<?php    
$nombre_cargo_socio
$_SESSION['cargo'];
include(
"../conec.inc.php");
$conex Conectarse();
$consulta="SELECT nombre_cargo FROM cargos";
$res=mysql_query($consulta,$conex);
if(!
$res)
{
    echo 
":Fallo en Rescatar datos de cargo";
}
else
{
    echo 
"<select name='combo_cargos'>";
    while (
$fila=mysql_fetch_array($res))
     {
         if (
$nombre_cargo_socio==$fila['nombre_cargo'])
        {
        echo 
"<option selected value='$nombre_cargo_socio'>";
        }
        else
        {
        echo 
"<option>"$fila['nombre_cargo'], "</option>";
        }
    }
 }
echo 
"</select>";
?>
haber con este codigo me llena el combo con los cargos de la tabla, pero en el combo aparece un dato en blanco selecionado que corresponde al del usuario, pero esta en blanco osea no aparece Maestro Sangrador sino que aparece el combo con el value en blanco y seleccionado.

Esta es la imagen:



Espero haberme explicado bien...

se agradece cualquier sugerencia
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 10:58.