duda sistema de comentarios php

c0ca

Estoy haciendo un sistema de noticias en php, weno ya esta hecho. Ahora estoy programando un sistema de comentarios, pero me surge la duda do como me kedo kon el id de notica q kiero comentar.

Me explico, al mostrar las noticias en el index, la opcion cometar la tengo asi: <a href='base.php?noticia=$minumero'> comentar</a>. En '$minumero' se q se guarda el id de la noticia correctamente porq luego hago un echo $minumero y funciona bien.

La cosa esta en que cuando carga el base.php (que es donde muestor los comentarios) no se como implantar en la sql el valor del id q quiero comentar. Psss no se si me explico jaja, supongo que el que halla hecho alguna vez un sistema de noticas sabe a q me refiero...

Bueno a ver si alguien puede ayudarme, q ando un poco desesperado

Muchas gracias, =)

Whose

mysql_query("SELECT * FROM comentarios WHERE id_noticia = '$_GET['id']'")

Por ejemplo...

En la tabla comentarios tienes que añadir un campo id_noticia y listo

la url seria x ejemplo base.php?hola=comentarios&id=X

Chulla

como dice Whose es suficiente , pero si quieres hacer algo más pr0fesional, o tienes un sistema de añadir descargas y añadir comentarios a las descargas, etc.. mira esto que te sugiero :

te creas la tabla comentario ( comentario_id, codigo_id, fecha, texto, autor_id, etc..) según tus exigencias claro .

Lo que te tienes que dar cuenta, es el campo codigo_id , el cual me vá a indicar si el comentario es de noticias, de descargas, de usuarios(perfil), etc..

el campo codigo_id estará formado por 2 partes :

  • el código de la seccion ( noticias entonces "noti", descargas pues .. "desc"
  • y la id de la sección en concreto( ejmplo ; 21 ( noticia con id 21), 300( descarga con id 300).

de ese modo tendras algo parecido en ese campo :

  • para una noticia -> noti_21
  • para una descarga ->desc_300

ahora te voy a explicar como debes leer y escribir estos datos en el campo comentarios :

Para leer :

haces como dice nuestro amigo Whose, una consulta a la db, buscando el comentario , teniendo 2 datos :

para extraer el comentario de una noticia :

$comentario_id_noticia = "noti".$GET["noticia_id"];

mysql_query("SELECT * FROM comentarios WHERE codigo_id = '$comentario_id_noticia")

para extraer el campo comentario de una descarga :

$comentario_descarga = "desc".$GET["desc_id"];

mysql_query("SELECT * FROM comentarios WHERE codigo_id = '$comentario_desc")

Y ahora te explico como insertar los comentario :

al mostrar la noticia o descarga, supongo que ya sabrás la ID ( la guardas en una variable ) ejemplo :

$comentario_noticia = "noti_".$id_noticia;

y luego le haces el INSERT INTO ....

fácil no ?

de esta manera , te ahorras tener 200 tablas de comentarios para cada cosa ( noticias, descargas, usuarios(firmitas), etc..) ó 200 campos en la tabla comentario

Saludos :)

c0ca

Muchas gracias Chulla, pero eso me keda grande de momento jeje, llevo poco tiempo com php y de momento me conformo con hacer el sistema de noticias "estandart", de todas maneras ya he guardado en un txt tu manual.

Volviendo a lo q dices, Whose... he probao la sql q me has dicho... $selec=mysql_query("SELECT * FROM comentarios where id='$_GET['id']'"); y me falla en esta linea...

Y lo de "la url seria x ejemplo base.php?hola=comentarios&id=X" no lo entiendo, puedes explicarlo mejor... :S

Whose

a ver si x ejemplo tienes como yo para administrar las secciones serias index.php?go=noticias&id=X

si tu las cargas desde un archivo seria noticias.php?id=X

en noticias.php tendrias el query con el select y id_noticia seria id=X

si pones $_GET['id'] PHP coge de la url la id que haya puesta, por eso si en un link pones noticias.php?id=1 te enviara a los comentarios de la noticia con id 1 :)

c0ca

creo q mi problema esta aki...

<a href='base.php?noticia=$minumero'><? echo $minumero ?> comentar</a>

la sintaxis del href esta bien? en minumero guardo el valor de un id de esta manera $minumero=$mifila->id;

A ver si va a ser q no guardo el numero no noticia...

Usuarios habituales

  • c0ca
  • Whose
  • Chulla