Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/07/2009, 06:45
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: pasar una variable en un mismo formulario

Aqui te dejo algo un poco mas funcional.

Código PHP:
Ver original
  1. <?php include("conectar.php") ?>
  2.  
  3. <script>
  4. function Send(){
  5.  
  6. document.forms[0].submit();
  7. }
  8. </script>
  9. <h3>Centros De pruebas</h3>
  10. <table cellpadding="0" cellspacing="0" width="300" border="1">
  11. <tbody>
  12. <tr>
  13. <th>Centros</th>
  14. <th>Opciones</th>
  15. </tr>
  16.  
  17. <?php
  18. $sql = "SELECT * FROM centros";
  19. $resultado = mysql_query($sql) or die(mysql_error());
  20. ?>
  21.  
  22. <?php while($row = mysql_fetch_array($resultado)){?>
  23.  
  24. <tr>
  25. <td><?php echo $row["Nombre"]?></td>
  26. <td><a href="<?=$_SERVER['PHP_SELF']."?id_centro=$row[Id]"?>">Listar</a></td>
  27. </tr>
  28. <?php } ?>
  29.  
  30. </tbody>
  31. </table>
  32.  
  33.  
  34. <?php
  35. if(isset($_GET['id_centro'])){
  36. ?>
  37.  
  38. <!-- La funcion $_SERVER['PHP_SELF']  ( Aqui aprenderas mas sobre esta ) funcion http://us3.php.net/manual/es/reserved.variables.server.php -->
  39.  
  40.  
  41.    
  42.    
  43.    
  44.  
  45.  
  46.     <?php
  47.    
  48.     ## Supongamos que id_centro vale 1;
  49.     $id = $_GET['id_centro'];
  50.    
  51.     $sala = "SELECT Nombre_sala, id_sala FROM salas WHERE id_centro='$id'"; ## Solo especificamos el string de la consulta.
  52.     $resultado = mysql_query( $sala ) or die( mysql_error() ); ## Aqui corremos la consulta y en caso de error avisar.
  53.     ## En el select le pusimos que cada vez que cambien onChange , se envie el formulario
  54.    
  55.    
  56.     $Total_num = mysql_num_rows($resultado);
  57.     ## Verificamos que la consulta arrojo registros.
  58.     if ( $Total_num ){
  59.    
  60.     echo "
  61.     <form name=\"form1\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">
  62.     <p>Se encontraron <b>$Total_num</b> resultados</p>
  63.     <p><b>Sala:</b> <select name='salas' style='border:1px solid #f1f1e8; background:#fff; padding:5px;' onChange='Send();'>
  64.     <option value=\"\">--Seleccionar</option>
  65.     ";
  66.    
  67.     while ($row = mysql_fetch_array( $resultado )){
  68.     echo "<option value=$row[id_sala]>$row[Nombre_sala]</option>";
  69.     }
  70.     echo "</select></p></form>";
  71.     }else ## De lo contrario Imprimo un mensaje de que no hubo registrs.
  72.     {
  73.     echo "<p>No se encontraron registros para este campo.</p>";
  74.     }
  75.    
  76.     ?>
  77.    
  78.  
  79.  
  80.  
  81. <?php } ?>
  82. <?php
  83.  
  84.     ## Verificamos que hayas posteado desde el select y no desde una recarga de la pagina.
  85.     if( (isset($_POST['salas']) && !empty($_POST['salas'])) ){
  86.     $id_salas = $_POST['salas'];
  87.    
  88.     $sala = "select id_sala from salas where id_sala = '$id_salas'";
  89.     $result = mysql_query($sala) or die(mysql_error());
  90.     $row = mysql_fetch_array($result); 
  91.     $sala_reunion = $row["id_sala"];
  92.     echo "<p>Resultado Final : <input type=\"text\" name=\"id_sala\" value=\"$sala_reunion\"></p>";
  93.    
  94.     }
  95.     ?>

Aqui te dejo la tabla que use para los centros

Código:


CREATE TABLE  `tabla`.`centros` (
  `Id` smallint(5) unsigned NOT NULL auto_increment,
  `Nombre` varchar(45) NOT NULL default '',
  PRIMARY KEY  (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO centros (Nombre) values ('Demo1');
INSERT INTO centros (Nombre) values ('Demo2');
INSERT INTO centros (Nombre) values ('Demo3');

Suerte !