Foros del Web » Programando para Internet » PHP »

$_REQUEST dinamico?

Estas en el tema de $_REQUEST dinamico? en el foro de PHP en Foros del Web. Buenas a todos Tengo una duda y es sobre si se puede hacer un $_REQUEST dinamico y de que forma si es asi. Me explico. ...
  #1 (permalink)  
Antiguo 11/11/2009, 04:18
 
Fecha de Ingreso: agosto-2007
Mensajes: 57
Antigüedad: 16 años, 7 meses
Puntos: 0
$_REQUEST dinamico?

Buenas a todos

Tengo una duda y es sobre si se puede hacer un $_REQUEST dinamico y de que forma si es asi.

Me explico. Por una parte tengo un formulario donde quiero rellenar datos de unos jugadores. En vez de hacer estaticamente, los mismos campos 12 veces poniendoles un nombre distinto a cada input text lo hago con una consulta sql y un while de este modo:

Código:
$result=mysql_query("select * from jugadores order by pos ASC",$link);
while($row = mysql_fetch_array($result)) {
?>
<table align="center" style="font-size:12px">
	<tr style="font-size:16px">
		<td><b><? echo $row["nombre"]; ?></b></td>
	</tr>
	<tr>
  		<td>Dorsal</td>
		<td><input type="text" name="dorsal<? echo $row["dorsal"]; ?>" size="2" value="" /></td>
</td>
	    <td>Goles</td>
   	    <td><input type="text" name="goles<? echo $row["dorsal"]; ?>" size="2" value="" /></td>
	</tr>
</table>
<?
}
?>
De esta manera, si tengo 12 jugadores en mi tabla, me saldran los campos dorsal y goles de los 12 jugadores. Y cada campo tenga un nombre diferente de estilo: dorsal1, goles1 (input del jugador con el dorsal 1 y los goles del jugador con dorsal 1), dorsal2, goles2, etc...

Mi duda/problema, es a la hora de recoger dinamicamente estas variables uso $_REQUEST[param] , pero el parametro no me coge variables, solo nombres estaticos

$dorsal = $_REQUEST["dorsal1"];
$goles = $_REQUEST["goles1"];
$dorsal = $_REQUEST["dorsal2"];
$goles = $_REQUEST["goles2"];
etc...

Hay alguna forma de ponerel parametro de forma dinamica con una variable o algo?


Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 11/11/2009, 05:11
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: $_REQUEST dinamico?

¿Por qué no lo recoges con $_POST['dorsal1'] o $_GET['dorsal1']?
  #3 (permalink)  
Antiguo 11/11/2009, 05:36
 
Fecha de Ingreso: agosto-2007
Mensajes: 57
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: $_REQUEST dinamico?

Buenas

Ante todo, gracias por contestar.

Tienes razon, usare $_POST[' '] pero el problema sigue siendo el mismo.

En la pagina que recibe mis variables dinamicas dorsal1, goles1, dorsal2, goles2,... dorsal12, goles12 del formulario ,en vez de poner a mano los $_POST[' dorsal1'],$_POST['goles1 '],$_POST[' dorsal2'],$_POST['goles2 '],...$_POST[' dorsal12'],$_POST['goles12 '], hay alguna manera "dinamica" de hacerlo?

En el ejemplo que comento son 2 cosas por jugador (dorsal y goles), pero en realidad son decenas de campos para cada uno, asi que me puedo volver loco.

La intencion es hacer "algo asi" en la pagina que recoge las variables del formulario:
(perdon por la barbaridad que os escribire, jeje)


Código:
$result=mysql_query("select * from jugadores order by pos ASC",$link);
while($row = mysql_fetch_array($result)) {

$var1 = "dorsal".$row["dorsal"];
$dorsal = $_POST['$var1'];

$var2= "goles".$row["goles"];
$goles= $_POST['$var2'];

$sql="INSERT into .......";
Hay alguna manera o tendre que recuperar los datos estaticamente volviendome loco con 12x20 campos?

Muchas gracias por todo
  #4 (permalink)  
Antiguo 11/11/2009, 06:05
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: $_REQUEST dinamico?

Lo que tienes que enviar es una matriz de dorsal y una matrix de goles
de esta manera .


Código PHP:
Ver original
  1. <?php
  2. $result=mysql_query("select * from jugadores order by pos ASC",$link);
  3. while($row = mysql_fetch_array($result)) {
  4.  
  5. ?>
  6. <table align="center" style="font-size:12px">
  7.     <tr style="font-size:16px">
  8.         <td><b><? echo $row["nombre"]; ?></b></td>
  9.     </tr>
  10.     <tr>
  11.         <td>Dorsal</td>
  12.         <td><input type="text" name="dorsal[]" size="2" value="" /></td>
  13. </td>
  14.         <td>Goles</td>
  15.         <td><input type="text" name="goles[]" size="2" value="" /></td>
  16.     </tr>
  17. </table>
  18. <?
  19. }
  20. ?>

Y luego lo recibes de esta forma

Código PHP:
Ver original
  1. <?php
  2. foreach($_POST['dorsal'] as $rows){
  3.  
  4. echo $rows."<br>";
  5.  
  6. }
  7.  
  8. foreach($_POST['goles'] as $rows){
  9.  
  10. echo $rows."<br>";
  11.  
  12. }
  13.  
  14. ?>
  #5 (permalink)  
Antiguo 11/11/2009, 06:07
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: $_REQUEST dinamico?

Claro que hay manera. Basta con un bucle. Puedes usar por ejemplo for(). O foreach que es mas cómodo. Si no sabes como usarlo dinos algo.
  #6 (permalink)  
Antiguo 11/11/2009, 06:37
 
Fecha de Ingreso: agosto-2007
Mensajes: 57
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: $_REQUEST dinamico?

Uo!

Ahora si que las recibo todas! Muchisimas gracias!

Ahora me asalta otra duda y creo q ultima. La intencion es recoger todos los datos de cada jugador y almacenarlos en la bbdd.

Ahora recupero las variables, pero como haria el bucle donde recogiera las variables de cada jugador e hiciera su UPDATE correspondiente?


Código:
UPDATE jugadores SET goles = '".$goles."' WHERE dorsal= '".$dorsal."'

Gracias de nuevo, de verdad!
  #7 (permalink)  
Antiguo 11/11/2009, 06:51
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: $_REQUEST dinamico?

Bueno suponiendo que dorsal tiene la misma cantidad de goles
entonces yo pudiera hacer algo como

Código PHP:
Ver original
  1. for($i=0;$i<count($_POST['dorsal']);$i++){
  2.    
  3.     mysql_query("UPDATE jugadores SET goles = '".$_POST['goles'][$i]."' WHERE dorsal= '".$_POST['dorsal'][$i]."');
  4.  
  5.  
  6. }
  #8 (permalink)  
Antiguo 11/11/2009, 08:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 57
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: $_REQUEST dinamico?

Muchas gracias por vuestra ayuda, ya he solucionado el problema. Mil gracias
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 08:32.