Foros del Web » Programando para Internet » PHP »

Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Estas en el tema de Mostrar el Campo title de una Tabla Mysql en la url de una Pagina en el foro de PHP en Foros del Web. Hola Amigos. Mi caso es el siguiente: Monté en mi página web un sistema de posts parecido a un Blog y he estado mejorándolo cambiando ...
  #1 (permalink)  
Antiguo 29/12/2012, 12:13
Avatar de franco9090  
Fecha de Ingreso: diciembre-2012
Ubicación: Medellin
Mensajes: 10
Antigüedad: 7 años, 1 mes
Puntos: 0
Mensaje Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Hola Amigos.
Mi caso es el siguiente:
Monté en mi página web un sistema de posts parecido a un Blog y he estado mejorándolo cambiando las urls mediante un archivo .htacces.
La cosa es que cuando intento poner el campo title (que es el titulo de cada post) en la url del mismo, solo me sale la primera palabra del title. Y lo que busco es que salga completo y separado por guiones(-).

Aquí esta el ejemplo:

así es como quiero que me salga:

http://mi_dominio/blog/titulo_del_post/id_del_post/

Pero solo me está saliendo la primera palabra y no alcanza a salir el id del post.
Algo así en este ejemplo:

http://mi_dominio/blog/titulo

El código htacces es este:

RewriteRule ^blog/([^/\.]+)/?$ mi_pagina.php?title=$1&id=$2 [L]

Y la Url que estoy ejecutando es la siguiente:

<a href=blog/mi_pagina.php/$title/$id/>

Espero que alguien pueda ayudarme. La verdad soy muy novato en esto, y este problemita me la esta secando XD.
De ante mano gracias.
  #2 (permalink)  
Antiguo 29/12/2012, 12:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 9 meses
Puntos: 836
Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Porque justamente solo estás capturando la primera parte. Prueba:
Código Apache:
Ver original
  1. RewriteRule ^blog/([^/]+)/([^/]+)/?$ mi_pagina.php?title=$1&id=$2 [L]
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 29/12/2012, 12:59
Avatar de franco9090  
Fecha de Ingreso: diciembre-2012
Ubicación: Medellin
Mensajes: 10
Antigüedad: 7 años, 1 mes
Puntos: 0
Mensaje Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Hola David.
Gracias por tu pronta respuesta, aunque desafortunadamente sigue saliendo igual y tambien se va a error 404 cuando doy click en el link.

  #4 (permalink)  
Antiguo 29/12/2012, 13:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 9 meses
Puntos: 836
Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

¿Dónde tienes el archivo mi_pagina.php?
Además, el enlace debes construirlo así:
Código HTML:
Ver original
  1. <a href="blog/$title/$id/">
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/12/2012, 13:08
Avatar de franco9090  
Fecha de Ingreso: diciembre-2012
Ubicación: Medellin
Mensajes: 10
Antigüedad: 7 años, 1 mes
Puntos: 0
Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Exactamente así tengo el enlace.
mi_pagina.php esta en la carpeta principal.

No se si esto mas bien tenga que ver con la base de datos o debo generar alguna función en php que permita ver todo el title y separado por guiones así como esta:

http://mi_dominio/category/empresas-colombianas/
  #6 (permalink)  
Antiguo 29/12/2012, 18:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 9 meses
Puntos: 836
Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

¿Has verificado que mod_rewrite esté activo? ¿Has revisado el log de errores de Apache?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 30/12/2012, 09:46
Avatar de franco9090  
Fecha de Ingreso: diciembre-2012
Ubicación: Medellin
Mensajes: 10
Antigüedad: 7 años, 1 mes
Puntos: 0
Mensaje Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Todo está funcionando perfectamente. De hecho tengo ya dos partes de mi pagina trabajando con urls amigables. La cuestión es que no entiendo porque el el title sale mocho en la url, solo sale la primera palabra, pareciera que cuando comienza el espacio entre palabras se allí se corta.
Creo que tiene mas que ver con la tabla mysql o con alguna función en php para que en la url salga el titulo del post completo.
  #8 (permalink)  
Antiguo 30/12/2012, 10:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 9 meses
Puntos: 836
Respuesta: Mostrar el Campo title de una Tabla Mysql en la url de una Pagina

Puedes probar reemplazando los espacios (str_replace)
Aprovecha y convierte a minúsculas (strtolower)

De todos modos, también tienes la opción de tener un campo especial para el título sin caracteres especiales (como acentos y espacios), así hasta puedes prescindir del ID.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: incompleta, mysql, 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




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