Foros del Web » Programando para Internet » PHP »

Ayuda para realizar consulta

Estas en el tema de Ayuda para realizar consulta en el foro de PHP en Foros del Web. Hola a todos, necesito ayuda con lo siguiente Tengo el siguiente código Cita: <?php require($_SERVER['DOCUMENT_ROOT'].'/libs/FNWordsLimit.php'); require($_SERVER['DOCUMENT_ROOT'].'/libs/FNAutoload.php'); $notice = new Query(); $notice->set_sql(sprintf("SELECT tbl_notices.*,notice_visits FROM tbl_notices, tbl_noticevisits ...
  #1 (permalink)  
Antiguo 28/10/2008, 17:45
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Ayuda para realizar consulta

Hola a todos, necesito ayuda con lo siguiente
Tengo el siguiente código
Cita:
<?php
require($_SERVER['DOCUMENT_ROOT'].'/libs/FNWordsLimit.php');
require($_SERVER['DOCUMENT_ROOT'].'/libs/FNAutoload.php');
$notice = new Query();
$notice->set_sql(sprintf("SELECT tbl_notices.*,notice_visits FROM tbl_notices, tbl_noticevisits where tbl_notices.id_notice=tbl_noticevisits.id_notice ORDER BY tbl_notices.datetime_notice DESC "));
$row = $notice->set_rowarr();
$notice_template= new Templates("noticelist");
$notice_template->set_asigne(array("user" => $row[1],"datetime"=>$row[4],"title"=>$row[2],"body"=>wordslimit(html_entity_decode($row[3]),500),"lang"=>$lang, "id"=>replace(html_entity_decode(trim($row[2]))),"visit"=>$row[5]));
echo $notice_template->set_print();
$notice->get_close();
echo '<hr width="100%" />';
?>
Que me genera lo siguiente
Cita:
Primer Titular
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ...
http://www.misitio.com/es/primer-titular.html 2008-10-28 10:51:12

Segundo Titular
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ...
http://www.aeaepilepsia.org/es/segundo-titular.html 2008-09-26 17:56:46

Tercer Titular
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla...
http://www.aeaepilepsia.org/es/tercer-titular.html 2008-09-26 17:56:13
para esto utilizo .htaccess, todo funciona casi a la perfección, excepto por un detalle que no encuentro la manera de solucionarlo, lo que quiero es ver la noticia completa, para ello me valgo de otro script parecido al anterior. Pero se supone que debo pasarle el identificador de la noticia, y para hacer la noticia como este :
$notice_complete->set_sql(sprintf("SELECT * FROM tbl_notices where id_notice =%d",$id));

Pero el detalle es que como pasarle sin que sea en el link http://www.misitio.com/es/mi -titular.html.
Algunos me dijeron que podría ser algo asi, (si el identificador de noticia es 1)
http://www.misitio.com/es/mi-titular.html?id=1
otros
http://www.misitio.com/es/1/mi-titular.html
también
http://www.misitio.com/es/mi -titular_1.html
cosa que extraería de ahí el id pero no me convence para nada ya que si id cambia por ejemplo a 5 entonces mi-titular.html seguirá en el navegador pero la página me mostrará el titular 5,además no quiero hacerlo de esa manera; he intentado con sesiones,que luego destruyo pero no he podido lograr, en el archivo .htaccess tengo lo siguiente:

Cita:
RewriteRule ^/(es|en|de)/([A-Za-z0-9-_]+)\.html/?$ ./?lang=$1&topic=$2&id_notice=$3 [NC,L]
La tercera variable es el identificador de noticia, ayúdenme a pasarlo pero de manera oculta

Última edición por argy; 28/10/2008 a las 17:58
  #2 (permalink)  
Antiguo 28/10/2008, 18:26
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda para realizar consulta

Antes que nada ten en cuenta algo: Un id no siempre ha de ser numérico.

Puedes crear una versión "simple" del título y usarla como id en tus noticias. Básicamente sería reemplazar carateres extraños como acentos y espacios con letras "normales" y guiones, para hacer un id compatible con urls. Es muy sencillo hacerlo con expresiones regulares.

Ya con eso, es fácil que, pasando en la URL amigable el id textual creado, puedas recoger la noticia.

Es el mismo sistema que usa Wordpress para crear sus urls estáticas. Si te das el trabajo de revisar sus tablas, verás que hay dos columnas con el título, una con la vewrsión original, y otra con el título simplificado que es usada como id.

Saludos,
  #3 (permalink)  
Antiguo 05/11/2008, 17:55
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Ayuda para realizar consulta

bueno discu`lpa que no haya respondido a tiempo, bueno lo de las clave tienes razón y también lo sé, sólo que todavía no había pensado en las expresiones regulares, pero gracias por habérmelo recordado.

ya todo esta ok.
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 07:27.