Problemas con htaccess y desarrollo de noticias

Hola amigos yo de nuevo :D mi pregunta es sobre htaccess, como puedo hacer esto correctamente

RewriteRule ^(.+)-([0-9]+)$ noticias.php?loretosoft=$2 [L]
RewriteRule ^(.+)-([0-9]+)$ programas.php?programas=$2 [L]

Ejemplo, en noticias están artículos referentes a este y no hay problema se desarrollo de una vez, pero al poner en programas no se desarrollan me sale

Notice: Trying to get property of non-object in

yo creia que cambiando el GET se iva a redireccionar al archivo php correspondiente pero no.

Este es mi código con el GET en cada archivo solo cambio el GET.

$db = new Mysql;
$nid_noticia = $_GET['loretosoft'];
$db->query("select * from noticia where noticia_id = $nid_noticia")->fetchAll();

Veo que no tuviera problemas si están en la misma table pero no están así..

Que puedo hacer, gracias de antemano

2 Respuestas

Respuesta
1

Ok, mira yo te sugiero hacer esto :

1.- El htaccess quedaría así:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/(.*)$ $1.php?variable=$2 [NC]

2.- las urls que solicitarías quedarían así: 

http://misitio.com/noticias/3 para esta petición que hace el servidor apache sera: http://misitio.com/noticias.php?variable=3 donde variable es el nombre del id

3.- En tú archivo php puedes imprimir las variables para ver que variables tiene, y así si poder ver si las variables llegan:

print_r($_GET);

$db = new Mysql;
$nid_noticia = $_GET['loretosoft'];
$db->query("select * from noticia where noticia_id = $nid_noticia")->fetchAll();

4.- Para la otra url de programas puedes cambiar la url a:

http://misition.com/programas/3 en este caso siempre la variable sera variable pero se rediccionará a: http://misitio.com/programas.php?variable=3 donde variable es el nombre del id

5.- El archivo htaccess acepta cualquier url, puedes cambiarlo para enviarle cualquier valor como por ejemplo:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/(.*)$ $1.php?$2=$3 [NC

en este caso la petición de las urls sera:

http://misitio.com/noticias/loretosoft/3 

http://misiio.com/programa/programas/3

Espero poder haber ayudado. 

Saludos y gracias por suscribirte en:https://www.youtube.com/user/dimit28 

Respuesta
1

si las tablas estan relacionadas puedes usar INNER JOIN. Si no lo son, puedes crear una tabla que las relacione. Puedes usar UNION aunque este es muy condicionado de que las dos tablas sean de igual tamaño y campos. También se puede hacer un query con condición pero si las tablas son grandes hay que pensar en indexar las columnas de interes.

El ejemplo de INNER JOIN sería sobre un campo donde en las dos tablas guardas el mismo valor. Puede ser el id de la noticia... y en la tabla programa tengas un campo noticia_id

Ya me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas