Foros del Web » Programando para Internet » PHP »

Pasar variables con url

Estas en el tema de Pasar variables con url en el foro de PHP en Foros del Web. Hola, estoy haciendo un ejercico en el que muestro todos los usuarios en un menú desplegable, y paso la variable por la url para más ...
  #1 (permalink)  
Antiguo 09/09/2011, 04:51
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Pasar variables con url

Hola, estoy haciendo un ejercico en el que muestro todos los usuarios en un menú desplegable, y paso la variable por la url para más tarde en la siguiente pagina imprimir el id del usuario, lo estoy haciendo de la siguiente forma:

Código PHP:
<?php

/**
 * @author skirlappa
 * @copyright 2011
 */
//Conectamos con la base de datos
$connect=mysql_connect("localhost","","")or die (mysql_error());
$selectDb mysql_select_db("test") or die (mysql_error());
//Seleccionamos al usuario que queremos ver sus resultados
///Sacamos a todos los usuarios de la base de datos
$query=mysql_query("SELECT * FROM test") or die (mysql_error());
///Los imprimimos en un menú desplegable.
?> 
<form action="poin5.php?id=<?echo $row['id']?>" method="get" class="e">
      <label>
    <select name="id">
     <?
while($row=mysql_fetch_array($query))
{
    
$unir=$row['id']." ".$row['incl1'];
    
?>
      <option><?echo $unir?></option>
  <?
}
?>
  </p>
  <p>
    <label>
      <input type="submit" value="Enviar">
    </label>
  </p>
    </select>
  </label>
</form>
<?
?>
La url pasa de la siguiente forma:

Código:
http://localhost/curso/ejercicios%20post/poin5.php?id=10+eduardbvguj
Código PHP:
<?php

/**
 * @author skirlappa
 * @copyright 2011
 */
//Conectamos con la base de datos
$connect=mysql_connect("localhost","","")or die (mysql_error());
$selectDb mysql_select_db("test") or die (mysql_error());
//Cogemos la variable de usuario para pasarla por URL
//Dividimos la variable para coger el id
$div=explode(" ",$_GET['id']);
//Imprimimos formulario de resultados
echo $div[0];



?>
Aunque este código funciona y hace lo que me marcaba el ejercicio no se si hago correctamente en enviar los dos campos juntos y después separarlo, lo tuve que hacer así porque no veía la forma de enviarlo el id solo.¿Creeis que es una forma correcta de hacerlo? o por el contrario lo haríais de otra forma.
  #2 (permalink)  
Antiguo 09/09/2011, 05:32
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Pasar variables con url

Hay una forma más "sencilla".

Al hacer el select, puedes hacer esto:

Código PHP:
echo '<select name="id"> ';
while(
$row=mysql_fetch_array($query))
{
    
    echo 
'<option value='.$row['id'].'>'.$row['incl1'].'</option>';
  
}

echo 
'</select>'
Y el action del form sólo hace falta que sea "poin5.php".

¿Qué es lo que pasa? El form, al ser por método GET, envia los campos por get.. es decir, ira al action "poin5.php" y pasara el get que tiene (en este caso, sólo 1) y es el name del select (id) con el value del option elegido (q será el ID del usuario que selecciones!). Así pues, irás a la url, por ejemplo, poin5.php?id=10

No sé si me explico :)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: mysql, pasar, sql, url, variables, formulario, usuarios
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 05:58.