Comunidad de diseño web y desarrollo en internet online

etiqueta <select> estática

Citar            
MensajeEscrito el 20 Jun 2007 10:28 pm
Qué tal compañeros, tengo la siguiente duda:

Hice un administrador de usuarios con BD(mysql) y PHP, con el se puede Crear, Ver, Borrar y Modificar un Nombre de Usuario, Password e email, la cuestión es que en la página de modificar tengo un <select> de la siguiente manera:

Código :

 <select name="name" onChange="check(this.value)">
            <?
            $result = mysql_query("Select * From users Order By id");
            while ($row=mysql_fetch_array($result)){
               ?><option value="<?=$row["id"]?>"><?=$row["usern"]?></option><?
            }
            ?>
      </select>


por la función que tiene el onChange me refresca la página para mostrarme los datos de usuario que elija pero me regresa el <select> a la primera option que hay, lo que necesito es que se quede en la option que elija aunque la página se refresque, aquí está el resto del código pero este es solamente para que tengan una referencia de la forma en que funciona...agradeceré cualquier ayuda:

Código :

<?
include('connf.php');

if(isset($_GET['id'])){
   $result = mysql_query("SELECT * FROM users WHERE id = ".$_GET['id']);
   $udatos = mysql_fetch_array($result);
   $u_id = $udatos['id'];
   $u_na = $udatos['usern'];
   $u_pa = $udatos['pass'];
   $u_em = $udatos['email'];
}

?>
<HTML>
<HEAD>
<TITLE>Actualizar1.php</TITLE>
<script>
function check(valor){
   window.location = 'modify.php?id='+valor;
}
</script>
</HEAD>
<BODY>
<table width="50%" border="0" align="center">
   <tr>
      <td colspan="4" align="center">
         <h2>Actualizar un registro</h2>      </td>
  </tr>
    <tr>
      <td colspan="4" align="center">
       
       <select name="name" onChange="check(this.value)">
            <?
            $result = mysql_query("Select * From users Order By id");
            while ($row=mysql_fetch_array($result)){
               ?><option value="<?=$row["id"]?>"><?=$row["usern"]?></option><?
            }
            ?>
      </select>
        
        </td>
    </tr>
   <tr>
    <td colspan="2" align="center">
      <h3>Informaci&oacute;n Actual</h3>      </td>
    <td colspan="2" align="center">
      <h3>Informaci&oacute;n Nueva</h3>      </td>
  </tr>
  <tr>
    <td colspan="4">&nbsp;</td>
  </tr>
  <tr>
    <td width="11%">User Name:</td>
    <td width="30%"><?=$u_na?></td>
    <td colspan="2" rowspan="4"><form action="modify_reg.php" method="post"><table width="100%" border="0">
      <tr>
        <td>ID:</td>
        <td><input type="hidden" value="<?=$u_id?>" name="id"><?=$u_id?></td>
      </tr>
      <tr>
        <td>User Name:</td>
        <td><input type="text" name="username" id="username" value="<?=$u_na?>"></td>
      </tr>
      <tr>
        <td>Password:</td>
        <td><input type="text" name="password" id="password"></td>
      </tr>
      <tr>
        <td>Email:</td>
        <td><input type="text" name="email" id="email" value="<?=$u_em?>"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" name="Actualizar" id="Actualizar" value="Submit"></td>
        </tr>
    </table></form></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td><?=$u_pa?></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><?=$u_em?></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
</BODY>
</HTML>

Por Rudy3001

69 de clabLevel



 

Por los grandes paisajes de Guatemala

firefox
Citar            
MensajeEscrito el 21 Jun 2007 02:31 pm
Guarda la opción seleccionada (el id) en una cookie o pásala por get en el refresh. Y después cuando refrescas verificas si esta la variable y si esta seleccionas esa opción: algo asi:

Código :

 <select name="name" onChange="check(this.value)">
            <?
                  $result = mysql_query("Select * From users Order By id");
               while ($row=mysql_fetch_array($result)){
            ?>
               <option value="<?=$row["id"]?>" <? echo $_GET['selectedIndex'] == $row["id"] ? "selected='selected'" : '' ?>><?=$row["usern"]?></option>
         <? } ?>
      </select>

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 21 Jun 2007 04:04 pm
todo muy bien.....muchas gracias!!!!!!1

Por Rudy3001

69 de clabLevel



 

Por los grandes paisajes de Guatemala

firefox
Citar            
MensajeEscrito el 21 Jun 2007 06:06 pm
A eso se le llama una condicional simple, es muy sencillo y practico, pero hay que tener en cuenta que sigue siendo una condicional, por tanto no hay que abusar de su uso.

Explicare:

Código :

echo ($_GET['id']  == $row["id"] ? "Este es el item seleccionado" : "No esta seleccionado");


La primera parte es la condicional:

Código :

$_GET['id']  == $row["id"] 


Después viene el codigo que se ejecutara en caso de que la condicional se cumpla, en este caso imprimiria "Este es el item seleccionado".
Le sigue el código que se ejecutara si la condición es falsa.

El signo de interrogación es para cuando se cumpla la condicional y los dos puntos para cuando sea falsa.

Hay que tener en cuanta que como es simple, solo puedes hacer una acción, ya sea manda llamar una función o simplemente imprimir el valor, etc.
Otro punto importante es que cuando se usa la condicional simple, tienes que poner siempre lo que pasara en caso de que se cumpla o no se cumpla, es decir siempre tiene que poner el "else".

Saludos, espero que ahora te sea mas fácil comprender lo.

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 22 Jun 2007 02:31 pm
Interesante, es parecido a las condiciones en Excel, es decir:

" =(MientrasEstoSeaAsí, HacerEsto, SiNoEntoncesEsto) "

Muchas gracias, gracias a este pedacito de código la aplicación se ve mejor, detallitos que marcan la diferencia, gracia nuevamente...

Por Rudy3001

69 de clabLevel



 

Por los grandes paisajes de Guatemala

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.