Foros del Web » Programando para Internet » PHP »

Ayuda con URL larga

Estas en el tema de Ayuda con URL larga en el foro de PHP en Foros del Web. Hola a todos muy buen dia tengan espero y puedan ayudarme gracias. Tal vez exagere en mi url larga y por eso no me aparecen ...
  #1 (permalink)  
Antiguo 03/09/2009, 14:36
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda con URL larga

Hola a todos muy buen dia tengan espero y puedan ayudarme gracias.

Tal vez exagere en mi url larga y por eso no me aparecen los productos.

http://www.cancunrx.com/products-pri...&id=sleep-aids

Esta es la url larga y de hecho me faltan mas variables facil 5 mas. entonces solo me muestran los registros de la ultimo campo y no todos.

y que debo hacer para poder mostrar todos los registros de varios campos de mi base de datos.

De adelantado muchas gracias.
  #2 (permalink)  
Antiguo 03/09/2009, 14:44
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Ayuda con URL larga

de hecho GET permite hasta cierto numero de campos en contra post según yo se, pero en tu caso, esa url es cortisima comparado con otras que he hecho, de seguro es un problema de tu consulta creo yo, mas que de la larga URL que dices tener....

muestranos tu codigo y vemos en que falla

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 03/09/2009, 14:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con URL larga

Fijate que siempre la variable es la misma, osea id, si lo que queres es seleccionar ciertos productos acorda alguna similitud entre ellos, la categoria por ejemplo, y selecciona por categoria.
  #4 (permalink)  
Antiguo 03/09/2009, 14:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

Creo que es el nombre.
Dado que se trata de una url con varios valores para la misma variable, me imagino que esto viene de un select múltiple.
Se soluciona cambiando id por id[] en el atributo name del select (o al generar la URL: id[]=valor&id[]=...)

Si lo haces así PHP recibirá $_GET['id'] como un vector en el que cada entrada es uno de los valores.


Saludos.
  #5 (permalink)  
Antiguo 03/09/2009, 14:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Ayuda con URL larga

yo espera ver una super mega url. Tu no has pasado nada en esa url. Debe ser un error en la forma de mostrar los datos. Te sugiero postear el codigo que hayas hecho para indicarte que debes corregir.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 03/09/2009, 14:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Cita:
Iniciado por ema21del9 Ver Mensaje
Fijate que siempre la variable es la misma, osea id, si lo que queres es seleccionar ciertos productos acorda alguna similitud entre ellos, la categoria por ejemplo, y selecciona por categoria.
Resulta ema que ya la he puesto mas corta y si me muestra los registros de los campos anteriores, pero no si tenga algo que ver el -, por que le pongo mas id&x-dato y ya no me lo muestra y ademas despues las mando a llamar por su id es por eso que no puedo poner el campo ejemplo producto.

Gracias.

Perdon por postear tanto pero por ejemplo si pongo products seria igual o peor no?

products-prices.php?products=adhd-treatment&products=anxiety&products=pain-relief&products=sleep-aids

Respondeme esto por favor, lo que queres es seleccionar ciertos productos verdad? tienen algo en comun esos productos o son al azar? de donde sale la url que estas escribiendo?

Última edición por GatorV; 03/09/2009 a las 15:49
  #7 (permalink)  
Antiguo 03/09/2009, 16:10
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por ema21del9 Ver Mensaje
Resulta ema que ya la he puesto mas corta y si me muestra los registros de los campos anteriores, pero no si tenga algo que ver el -, por que le pongo mas id&x-dato y ya no me lo muestra y ademas despues las mando a llamar por su id es por eso que no puedo poner el campo ejemplo producto.

Gracias.

Perdon por postear tanto pero por ejemplo si pongo products seria igual o peor no?

products-prices.php?products=adhd-treatment&products=anxiety&products=pain-relief&products=sleep-aids

Respondeme esto por favor, lo que queres es seleccionar ciertos productos verdad? tienen algo en comun esos productos o son al azar? de donde sale la url que estas escribiendo?

Si tienen algo en comun el campo de products de la base de datos. Y cuando los mando a llamar todos los registros es por su id para mostrar todo el registro completo .

Gracias.
  #8 (permalink)  
Antiguo 03/09/2009, 16:16
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por abimaelrc Ver Mensaje
yo espera ver una super mega url. Tu no has pasado nada en esa url. Debe ser un error en la forma de mostrar los datos. Te sugiero postear el codigo que hayas hecho para indicarte que debes corregir.
products-prices.php?id=adhd-treatment&id=anxiety&id=pain-relief&id=sleep-aids

este es el link de index.php y luego

Products-prices.php

Código PHP:
<?php  
ob_start
("ob_gzhandler"); 
//Las funciones ob_start y 
//ob_end_flush te permiten 
//escojer en qué momento 
//enviar el resultado de un 
//script al navegador. Si 
//no las utilizamos estamos 
//obligados a que nuestra  
//primera línea de código 
//sea session_start() u 
//obtendremos un error 
session_start(); 
//conectamos a la base de 
//datos 
mysql_connect("localhost","cancunrx_cancun","Cancun07"); 
mysql_select_db("cancunrx_catalogo"); 
//rescatamos los valores 
//guardados en la variable de 
//sesión (si es que hay alguno, 
// cosa que comprobamos con isset) 
//y los asignamos a $carro. 
//Si no existen valores, ponemos a false 
//el valor de $carro 
if(isset($_SESSION['carro'])) 
$carro=$_SESSION['carro'];else $carro=false
//y hacemos la consulta 
$id=$_GET[id];
$qry=mysql_query("select * from catalogo where products='$id' order by brand asc"); 
?>

y esta parte es donde aparece el listado de los productos:

Código PHP:
<a href="vercarrito.php?<?php echo SID ?>" title="Ver el contenido del carrito"> <img src="images/vercarrito.gif" alt="" width="24" height="21" border="0"></a></div></td>
      </tr>  
<?php 
//mostramos todos nuestros 
//artículos, viendo si han 
//sido agregados o no a nuestro 
//carro de compra 
while($row=mysql_fetch_assoc($qry)){ 
?> 
      <tr>
        <td><?php echo '<img src="imagenes/'.$row['foto'].'" border="0px"></a></img>';?></td>
        <td><?php echo $row['brand'?></td>
        <td><?php echo $row['generics'?></td>
        <td><?php echo $row['price'?></td>
        <td><div align="center"><?php 
if(!$carro || !isset($carro[md5($row['id'])]['identificador']) || $carro[md5($row['id'])]['identificador']!=md5($row['id'])){ 
//si el producto no ha sido 
//agregado, mostramos la imagen 
//de no agregado, linkeada 
//a nuestra página de agregar 
//producto y transmitíéndole a 
//dicha página el id del artículo 
//y el identificador de la sesión 
?> 
<a href="agregarcar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>"> 
<img src="images/productonoagregado.gif" border="0" title="Agregar al Carrito"></a><?php }else 
//en caso contrario mostramos la 
//otra imagen linkeada., a la 
//página que sirve para borrar el 
//artículo del carro. 
{?><a href="borrar_del_carrito.php?id=<?php echo $row['id']; ?>"<?php echo SID ?>
<img src="images/productoagregado.gif" border="0" title="Quitar del Carrito"></a><?php ?></div></td>
      </tr><?php ?>
    </table>
a ver si pueden ayudarme gracias.
  #9 (permalink)  
Antiguo 03/09/2009, 23:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

Creo que no has leído mi mensaje anterior. Léelo
  #10 (permalink)  
Antiguo 04/09/2009, 10:50
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por abimaelrc Ver Mensaje
yo espera ver una super mega url. Tu no has pasado nada en esa url. Debe ser un error en la forma de mostrar los datos. Te sugiero postear el codigo que hayas hecho para indicarte que debes corregir.
Oh perdona pero no entendi donde dice:

id=¿cuadrito?&id¿cuadrito?

Perdona mi ignorancia.

Pero entonces seria asi?
products-prices.php?[id]products=adhd-treatment&[id]products=anxiety&[id]products=pain-relief&[id]products=sleep-aids

pero products ese otro campo distinto al id no? que tiene que ver perdona si lo que mando a llamar son los products

Última edición por jose-web; 04/09/2009 a las 11:13 Razón: Acompletar url
  #11 (permalink)  
Antiguo 04/09/2009, 11:13
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

jeje no es "cuadrito" sino [ ] sin el espacio en el medio, []
Pruébalo así y podrás recibir todos los valores de ID en un vector.


Saludos.
  #12 (permalink)  
Antiguo 04/09/2009, 11:54
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por AlvaroG Ver Mensaje
jeje no es "cuadrito" sino [ ] sin el espacio en el medio, []
Pruébalo así y podrás recibir todos los valores de ID en un vector.


Saludos.
Pero entonces esta correcto el url que puse ahi?

llamo products.php?[id]=adhd-treatment&[id]=pain-relief

esto es correcto ponerlo en php?
  #13 (permalink)  
Antiguo 04/09/2009, 12:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

No fue así como lo escribí antes
debe ser id[]=valor1&id[]=valor2...
  #14 (permalink)  
Antiguo 04/09/2009, 13:28
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por AlvaroG Ver Mensaje
No fue así como lo escribí antes
debe ser id[]=valor1&id[]=valor2...
Mira si uso este url me funciona y me muestra bien la lista de productos

http://www.cancunrx.com/products-pri...ent&id=anxiety

pero cuando empiezo a poner mas:

http://www.cancunrx.com/products-pri...id=weigth-loss

me aparecen solo algunos.

y si pongo por ejemplo

http://www.cancunrx.com/products-prices.php?id[]=adhd-treatment&id[]=anxiety

en cambio asi no pasa nada.

Gracias por contestar.
  #15 (permalink)  
Antiguo 04/09/2009, 13:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

¿qué quiere decir que "no pasa nada"?
Aquí he creado un ejemplo que creo que es muy claro:

http://elcodiguero.com/forosdelweb/p...alores_url.php
  #16 (permalink)  
Antiguo 04/09/2009, 14:41
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por AlvaroG Ver Mensaje
¿qué quiere decir que "no pasa nada"?
Aquí he creado un ejemplo que creo que es muy claro:

http://elcodiguero.com/forosdelweb/p...alores_url.php
ijole mmmm pues no uso ningun select ese es el problema.......

creo que nos confundimos O_o

solo los mando a llamar de la base de datos con un query.

Última edición por jose-web; 04/09/2009 a las 14:45 Razón: Para resolverlo
  #17 (permalink)  
Antiguo 04/09/2009, 14:45
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

No, si eso ya lo había entendido, lo puse para que veas el caso típico en el que se da este problema.
Pero sabiendo que no es este el mismo caso, puse el ejemplo 2, para que veas cómo se genera una URL que contenga valores múltiples para la misma variable.
Ahí puedes ver cómo debes agregar los []


Saludos.
  #18 (permalink)  
Antiguo 04/09/2009, 16:12
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por AlvaroG Ver Mensaje
No, si eso ya lo había entendido, lo puse para que veas el caso típico en el que se da este problema.
Pero sabiendo que no es este el mismo caso, puse el ejemplo 2, para que veas cómo se genera una URL que contenga valores múltiples para la misma variable.
Ahí puedes ver cómo debes agregar los []


Saludos.
mmmmm bueno gracias entonces supongo que sigo en las mismas......

espero la ayuda de alguien entonces a ver que pueden aconsejarme.

Gracias. Alvaro..
  #19 (permalink)  
Antiguo 04/09/2009, 18:05
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

Obviamente no nos estamos entendiendo. Pensé que estaba aclarando las cosas tanto como era necesario, pero veo que no es así.

Antes que nada, pon por favor el código que estás usando para generar esa URL
  #20 (permalink)  
Antiguo 04/09/2009, 18:46
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con URL larga

Cita:
Iniciado por AlvaroG Ver Mensaje
Obviamente no nos estamos entendiendo. Pensé que estaba aclarando las cosas tanto como era necesario, pero veo que no es así.

Antes que nada, pon por favor el código que estás usando para generar esa URL
mmmm esta en los post anterior, disculpa.

Me tengo que retirar y este post lo mas problable lo revise hasta el lunes.

Pero te agradezco.

Buen fin de semana

Última edición por jose-web; 04/09/2009 a las 18:47 Razón: Disculpa
  #21 (permalink)  
Antiguo 04/09/2009, 19:24
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Ayuda con URL larga

debes convertir tus url a html luego pasar el nombre de la url en el archivo htaceess
primero debes hacer un transformador den php para pasar la url real a html ...
cambia el session_start por

Cita:
if (!isset($_SESSION)) { @session_start(); }
error_reporting(0);
estem perdona mi ignorancia pero que es ---> <?php echo SID ?>

saludos!!
  #22 (permalink)  
Antiguo 04/09/2009, 20:36
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con URL larga

Cita:
Iniciado por jose-web Ver Mensaje
mmmm esta en los post anterior, disculpa.
Según lo que escribiste antes, la URL es generada por index.php. No pegaste el código de index.php en ningún mensaje...
  #23 (permalink)  
Antiguo 04/09/2009, 22:13
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Ayuda con URL larga

repito lo que se leyo en varias respuestas, estas asignando la misma variable que va a recibir en el otro codigo

en este ejemplo
http://www.cancunrx.com/products-pri...ent&id=anxiety

la variable $_GET['id'] va a tener el valor anxiety y no adhd-treatment

si utilizas [] al lado de id vas a generar un array que tendrias que recorrerlo al hacer la consulta, pero si no lo recorres vas a utilizar un solo valor como venis haciendo hasta ahora
  #24 (permalink)  
Antiguo 05/09/2009, 01:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Ayuda con URL larga

Hola, otra solución parecida a la que te dice AlvaroG seria usando explode() y usar un texto clave en el ejemplo que te pongo abajo yo usare como clave esto -id- pero se puedes usar cualquiera...

Acoples Demo:
Código HTML:
<a href="http://www.cancunrx.com/products-prices.php?id=adhd-treatment-id-anxiety-id-muscle-relaxants-id-pain-relief-id-sexual-health-id-sleep-aids-id-weigth-loss">Click Aqui</a> 
y el php

Código PHP:
<?php
if(isset($_GET['id'])){
$id $_GET['id'];
$GetId explode('-id-'$id);
//Si haces un: print_r($GetId);
print_r($GetId)."\n";
}
/*--------------------------------------------------
//este sera el Resultado
Array
(
    [0] => adhd-treatment
    [1] => anxiety
    [2] => muscle-relaxants
    [3] => pain-relief
    [4] => sexual-health
    [5] => sleep-aids
    [6] => weigth-loss
)

--------------------------------------------------*/
//Si por ejemplo quieres sacar la palabra: sleep-aids
//solo haces esto:
echo $GetId[5];//y así sucesivamente
?>
__________________
╬-----╬
║☺₧☻║
╬-----╬
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 02:54.