Foros del Web » Programando para Internet » PHP »

recibir valores por url

Estas en el tema de recibir valores por url en el foro de PHP en Foros del Web. hola a todos tengo un problemita con un codigo .....quiero enviar el valor de cantidad pero tiene un contador @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original ...
  #1 (permalink)  
Antiguo 22/01/2010, 01:10
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
recibir valores por url

hola a todos tengo un problemita con un codigo .....quiero enviar el valor de cantidad pero tiene un contador
Código HTML:
Ver original
  1. php?cantidad1=1&precio1=300.50&amonto1=901.5&cantidad2=1&precio2=111.50&amonto2=111.5&item=+2&x=44&y=17

cantidad1
cantidad2
cantidad3
ect...
como puedo hacer para atrapar el valor de cantidad con un solo get?????

se puede colocar dentro de un bucle ?? ..... crear un contador algo como
$i++;
$_GET["cantidad$i"];
...me parece que no pero bueno..pergunto a ver si existe otro metodo ..si no javascript seria la solucion???
  #2 (permalink)  
Antiguo 22/01/2010, 02:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: recibir valores por url

Porque no pruebas tu idea del bucle?

Ten por seguro que te sera mas satisfactorio venir despues a contarnos, "si funciona con el bucle, ahora quiero ..." o "no funciona con el bucle, que opciones ...".

Una pista? Vas por buen camino, aunque podria haber diferentes opciones dependiendo de tus necesidades.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/01/2010, 02:42
 
Fecha de Ingreso: abril-2004
Ubicación: madrid
Mensajes: 31
Antigüedad: 20 años
Puntos: 2
Respuesta: recibir valores por url

tal y como dice triby prueba de hacer un bucle:

en vez de poner nombres tipo cantidad1, cantidad2... cambialo por cantidad[]
<input name="cantidad[]" value="lo que sea 1">
<input name="cantidad[]" value="lo que sea 2">
<input name="cantidad[]" value="lo que sea 3">

luego para recorrer cada resultado:
if( isset( $_GET['cantidad'] ) && $_GET['cantidad'] ){
foreach( $_GET['cantidad'] as $indice => $valor ){

}
}

saludos!
  #4 (permalink)  
Antiguo 22/01/2010, 14:25
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

pero para recibir los valores de la url debo colocar $_GET[''] no ?????

no puedo hacer $_GET['cantidad'] por q no existe ...solo existe cantidad1,cantidad2,cantidad3 y asi sucesivamente

en mi caso seria en una celda ...

echo "<tr bgcolor='#99FFFF'><td class='Estilo9' align='center'>".$_GET['cantidad1']."</td>


asi me imprime el valor de cantidad1 ...pero necesito agregar el valor de cantidad2,cantidad3 ect en esa misma celda ..

quizas existe otro forma mas facil de hacerlo o mejor pero no se me ocurre nada :| no se :( ....
  #5 (permalink)  
Antiguo 22/01/2010, 14:30
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: recibir valores por url

¿No leiste lo que te puso miquelcamps? Fijate en los name="cantidad[]"



Eso luego PHP lo recoge como un array $cantidad[0]=.... $cantidad[1]=....

Pon el bucle asi y lo entenderas:

foreach( $_GET['cantidad'] as $indice => $valor ){
echo $valor."<br>";
}
  #6 (permalink)  
Antiguo 22/01/2010, 19:48
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

coloque tal cual el bucle y no hace nada...Warning: Invalid argument supplied for foreach()

$_GET['cantidad'] es null ...por que cantidad no existe en la url ...


esta es la url q recibo
php?cantidad1=1&precio1=300.50&amonto1=901.5&canti dad2=1&precio2=111.50&amonto2=111.5&item=+2&x=44&y =17

estoy creando una tabla y necesito imprimir el valor de cada variable.. todas las variables son enviadas por la url ..y asi es la tabla

cantidad1 precio1 amonto1
cantidad2 precio2 amonto2
cantidad3 precio3 amonto3
  #7 (permalink)  
Antiguo 22/01/2010, 20:50
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Mensaje Respuesta: recibir valores por url

Proba con esto

Código PHP:

for( $i=1$i>=count($_GET); $i++ ){
    
// si existe la variable
    
if( isset( $_GET['cantidad'.$i] ) ){
          echo 
$_GET['cantidad'.$i]  . " - " $_GET['precio'.$i] . " - " $_GET['amonto'.$i] ;
    }

Se podria refinar un poco mas. Espero que te sirva.
  #8 (permalink)  
Antiguo 22/01/2010, 20:51
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: recibir valores por url

Ok, acabo de probar este codigo yo mismo, tienes que enviar las variables en la url tal que asi:

php?cantidad[]=1&precio[]=300.50&amonto[]=901.5&cantidad[]=1&precio[]=111.50&amonto[]=111.5&item=+2&x=44&y =17

Y usa este bucle:

Código PHP:
Ver original
  1. $i=0;
  2. while ( isset($_GET['cantidad'][$i]) ) {
  3.     echo $_GET['cantidad'][$i]." ";
  4.     echo $_GET['precio'][$i]." ";
  5.     echo $_GET['amonto'][$i]."<br>";
  6.     $i++;
  7. }
  #9 (permalink)  
Antiguo 23/01/2010, 00:51
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

wooao gracias por el codigo me sirvio de mucho lo hice con el while como lo muestra VUN pero con $_GET['cantidad'.$i] como lo muestra luis 010182 de esta manera no tuve problema en recibir los datos...peeeeeero se estan duplicando las filas es decir si agrego 2 productos...(este codigo se trata de un carrito de compras) solo puedo agregar un producto a la vez ....por ejemplo
agrego un producto me genera una url asi

php?cantidad1=1&precio1=300.50&amonto1=901.5&item= +2&x=44&y =17

y me imprime bien

1 300.50 901.5



pero ahora si agrego otro producto .debo devolverme a la pagina de atras ..que es la que me envia los valores por url ..y tendre ahora cantidad2


php?cantidad1=1&precio1=300.50&amonto1=901.5&canti dad2=1&precio2=111.50&amonto2=111.5&item=+2&x=44&y =17


asi me imprime:

1 300.50 901.5
1 300.50 901.5
1 111.50 111.5
1 111.50 111.5

y pasa lo mismo si cambio de metodo a $_POST..
  #10 (permalink)  
Antiguo 23/01/2010, 12:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: recibir valores por url

Para carrito de compras usa sesiones, no tienes que pasarlas por GET ni POST.

Te sugiero esta busqueda.
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 23/01/2010, 13:26
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

estoy usando sesiones...tengo una tabla donde muestro los valores de una funcion de javascript q me imprime la sumatoria de todos los productos ...el subtotal..que seria la sumatoria * IVA y el total que seria la sumatoria +l subtotal ...y lo q hago es enviar esos valores a una nueva tabla en otra pagina ...
  #12 (permalink)  
Antiguo 23/01/2010, 14:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: recibir valores por url

No es recomendable que pases este tipo de informacion por GET o POST y puedes hacer las operaciones perfectamente desde PHP, sin tener que involucrar Javascript.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 27/01/2010, 16:35
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

es necesario involucrar a js por que todos los calculos que ademas son llamados por un evento ...
como puedo crear una funcion en javascript q me elimine
function eliminar(h,i)
{


h--;
a=h;

document.getElementById("celda"+i).innerHTML=a;

}

h es el valor de la cantidad le resto 1 y luego devuelvo el valor a la tabla...pero solo
no me funciona como debe ser...pero no funciona como debe se solo me recrementa un valor...ejem: si cantidad 3 y llamo a la funcion..cantidad sera 2 ..pero si vuelvo a llamar la funcion se va a quedar en 2 y no lo decrementa...es por que el valor de h en la funcion eliminar(h)siempre el mismo valor...y alli me quede nose como seria la mejor maneja de decrementar el valor de cantidad...intente con algo como esto..
$item=$_GET['a'];
if($itemsEnCesta[$item]>0)
{
$itemsEnCesta[$item]-=1;

}
que en otro codigo si me funcionaba y no se por que ahora no :S......lo que hago es tomar el valor ingresado en cantidad por la url y lo muestro con un get en un celda ...intente algo como
$a=$_GET['cantidad'.$i];
y en la celda coloco
$itemsEnCesta[$a]; ..pero me muestra el valor ..lo intente de esa manera para ver si me decrementaba el valor con $itemsEnCesta[$item]-=1;
¿ como puedo hacer??
  #14 (permalink)  
Antiguo 27/01/2010, 20:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: recibir valores por url

Insisto, no es recomendable pasar este tipo de parametros por URL, si quieres eliminar elementos sin recargar toda la pagina, entonces seria mejor Javascript + PHP... es decir, AJAX.
__________________
- León, Guanajuato
- GV-Foto
  #15 (permalink)  
Antiguo 30/01/2010, 22:22
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: recibir valores por url

es que a mi solo me interesa es el valor de cantidad ya los demas parametros los llamo desde la bd......lo unico que me falta es eliminar el producto..y puedo hacerlo recargando la pagina no hay problema....asi lo estoy haciendo pero no me devuelve la salida lo he intenado con un foreach itemencesta pero no me da nada por la session ni con unset ..quizas si me decremente el valor de cantidad pero el problema es no se como hacer para devolver el valor a la celda..por que la cantidad la llamo con un $_get ....intento asignarle un valor a cantidad y hago itemencesta['$valor'] en la celda pero no me muestra nada..
  #16 (permalink)  
Antiguo 31/01/2010, 00:44
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: recibir valores por url

Has pasado de un problema de php en el que te intentamos ayuda a algo de javascript, deberias abrir otro post en el foro correspondiente detallando al maximo tu problema, con codigo o si tienes la web subida mucho mejor

Etiquetas: recibir, url
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:35.