Regresar a la página www.ComoCrearTuWeb.com
Página 2 de 5 PrimerPrimer 12345 ÚltimoÚltimo
Resultados 16 al 30 de 67

Tema: [TUTORIAL] Crear sistema de novedades/noticias del tipo pagina.php?id=

  1. #16
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Acabo de añadir al final del post un tutorial para crear un mini panel de administración en el que se podrán borrar las noticias con un sólo click

    El código debería funcionar perfectamente, pero si alguien ve un error que me avise y lo corrigo :D

    Estoy buscando para poder editar las noticias a parte de poder borrarlas

  2. #17
    Moderador CCTW Habitante Avatar de johnpeterjp
    Fecha de Ingreso
    13 abr, 06
    Ubicación
    Santiago de Chile
    Mensajes
    3,181
    Poder de Reputación
    32
    Y la demo ? Je, je. Avísame si necesitas un servidor de pruebas para habilitarte una cuenta y hagas las pruebas necesarias on line. Saludos.
    "Conocimiento es necesidad, necesidad es conocer lo que necesitamos"


  3. #18
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Agregado al tutorial también cómo editar las noticias, justo debajo de cómo borrarlas.

    Sobre la demo me había olvidado de acabarla, ya estoy en ello!

    Si veis algún error en el tutorial corregidme y lo corrigo en el tema

  4. #19
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Aquí tenéis la demo online jejeje

    http://doodleo.comocreartuweb.es/noticias.php

    Esa es la versión sin estilos, los estilos se los tenéis que dar vosotros jejeje

  5. #20
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Hola a todos, yo utilizo este sistema de noticias en mi web, pero me falta la parte de editar comentarios o borrarlo, pueden postear esta parte? ya que existe un problema al querer editar o borrar cree un archivo para esto pero todas los comentarios se editan al actualizar cambios o al intentar borrarlos se borran, ya que al guardarse en la base de datos se guardan con un unico id que es el que toma del id que representa la noticia. Habia hecho el sistema con este tutorial http://www.forosdelweb.com/f18/aport...tarios-638813/ si alguien puede continuar con el tema y crear el archivo por favor?

  6. #21
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Habría que hacer que al comentar cada comentario tenga su ID propio y luego desde un archivo borras determinado comentario dependiendo de su ID...

    Creo que podría hacer el archivo, voy a intentarlo!

  7. #22
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Ok, vamos a intentarlo con esto:

    1º) Abre la tabla en la que guardas las comentarios y añade un campo más llamado idcomentario y le pones el extra AutoIncrement (puede que te ponga un checkbox con A_I o AI, selecciónalo)

    2º) Ahora crea un archivo más en el directorio moderacion llamado comentarios.php y en este archivo pones el código de novedad.php (En el que mostramos la noticia en concreto en la página principal) para mostrar la noticia en la que quieres moderar los comentarios

    3º) En el archivo novedad.php, el código donde mostramos los comentarios (La línea es algo así como: echo "$nick dijo...<br/>$comentario<br/>Publicado el día $qry[fecha] a las $qry[hora]";)

    4º) En esa línea añadimos un enlace para borrar el comentario, la línea debería quedar así:
    Código:
    echo "$nick dijo...<br/>$comentario<br/>Publicado el día $qry[fecha] a las $qry[hora] (<a href='borrarcomentario.php?id=$qry[idcomentario]'>Borrar comentario</a>)";
    5º) Como ves, en el enlace llamamos a borrarcomentario.php, así que ahora creamos un archivo (en el directorio moderacion, claro) llamado borrarcomentario.php lo que haremos será que esta URL se transforme en borrarcomentario.php?id= AQUI IRA EL ID DEL COMENTARIO y dependiendo del ID que pongamos ahí, se borrará el comentario que tiene ese ID
    Código:
    <?php
    
    // Declaramos la variable ID que será el ID que pusimos en la URL
    $id = htmlentities($_GET[id]);
    $id = strip_tags($id);
    
    // Conectamos a la base de datos 
    $connect=mysql_connect("servidor","usuariodelabasededatos", "passworddelabasededatos");
    
    // Seleccionamos la base de datos
    mysql_select_db("tubasededatos",$connect);
    
    // Ahora creamos la sentencia SQL para borrar la noticia correspondiente
    $sSQL="DELETE FROM comentarios WHERE idcomentario=$id";
    
    // Ahora ejecutamos la sentencia SQL de arriba en la que borramos la noticia
    mysql_query($sSQL);
    
    ?>
    Creo que con eso ya está, pero recuerda que los comentarios ya puestos aún no tienen un ID, así que mira estas dos opciones dependiendo de tu caso:

    a) Que aún no haya ningún comentario en la base de datos
    - En ese caso no tienes que hacer nada más y al comentar ya se le debería asignar un id automáticamente a cada comentario

    b) Que haya algún comentario en la base de datos
    - En ese caso, primero tienes que acceder a la base de datos e ir asignando un ID a cada comentario (cada id diferente claro, al primer comentario le pones de ID el número 1, al siguiente el número 2, etc...) Y luego ir a OPERATIONS en la base de datos, y buscas una opción que pondrá: AUTO_INCREMENT y al lado un número, ese número tienes que substituirlo por el número siguiente del último ID del comentario puesto, por ejemplo, si el último comentario posteado tiene de ID el número 28, en el autoincrement de ahí le pones 29)

    Con eso debería funcionar, si da algun error avisas :D

  8. #23
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Cita Iniciado por Doodleo Ver Mensaje
    Ok, vamos a intentarlo con esto:

    1º) Abre la tabla en la que guardas las comentarios y añade un campo más llamado idcomentario y le pones el extra AutoIncrement (puede que te ponga un checkbox con A_I o AI, selecciónalo)

    2º) Ahora crea un archivo más en el directorio moderacion llamado comentarios.php y en este archivo pones el código de novedad.php (En el que mostramos la noticia en concreto en la página principal) para mostrar la noticia en la que quieres moderar los comentarios

    3º) En el archivo novedad.php, el código donde mostramos los comentarios (La línea es algo así como: echo "$nick dijo...<br/>$comentario<br/>Publicado el día $qry[fecha] a las $qry[hora]";)

    4º) En esa línea añadimos un enlace para borrar el comentario, la línea debería quedar así:
    Código:
    echo "$nick dijo...<br/>$comentario<br/>Publicado el día $qry[fecha] a las $qry[hora] (<a href='borrarcomentario.php?id=$qry[idcomentario]'>Borrar comentario</a>)";
    5º) Como ves, en el enlace llamamos a borrarcomentario.php, así que ahora creamos un archivo (en el directorio moderacion, claro) llamado borrarcomentario.php lo que haremos será que esta URL se transforme en borrarcomentario.php?id= AQUI IRA EL ID DEL COMENTARIO y dependiendo del ID que pongamos ahí, se borrará el comentario que tiene ese ID
    Código:
    <?php
    
    // Declaramos la variable ID que será el ID que pusimos en la URL
    $id = htmlentities($_GET[id]);
    $id = strip_tags($id);
    
    // Conectamos a la base de datos 
    $connect=mysql_connect("servidor","usuariodelabasededatos", "passworddelabasededatos");
    
    // Seleccionamos la base de datos
    mysql_select_db("tubasededatos",$connect);
    
    // Ahora creamos la sentencia SQL para borrar la noticia correspondiente
    $sSQL="DELETE FROM comentarios WHERE idcomentario=$id";
    
    // Ahora ejecutamos la sentencia SQL de arriba en la que borramos la noticia
    mysql_query($sSQL);
    
    ?>
    Creo que con eso ya está, pero recuerda que los comentarios ya puestos aún no tienen un ID, así que mira estas dos opciones dependiendo de tu caso:

    a) Que aún no haya ningún comentario en la base de datos
    - En ese caso no tienes que hacer nada más y al comentar ya se le debería asignar un id automáticamente a cada comentario

    b) Que haya algún comentario en la base de datos
    - En ese caso, primero tienes que acceder a la base de datos e ir asignando un ID a cada comentario (cada id diferente claro, al primer comentario le pones de ID el número 1, al siguiente el número 2, etc...) Y luego ir a OPERATIONS en la base de datos, y buscas una opción que pondrá: AUTO_INCREMENT y al lado un número, ese número tienes que substituirlo por el número siguiente del último ID del comentario puesto, por ejemplo, si el último comentario posteado tiene de ID el número 28, en el autoincrement de ahí le pones 29)

    Con eso debería funcionar, si da algun error avisas :D
    Gracias por tu valioso tiempo y en tratar de responder, mira existe un unico problema eso que me comentas lo trate de hacer el problema existente es que los comentarios aun cuando los cree en la tabla con autoincrement se guardan con el id que se toma en un input oculto que toma el id de las noticias y guarda los comentarios que ese id y todos en la base de datos en esa noticia se guardan con el mismo id de ella de manera que al colocar un link para editarlo o borrarlo el sistema asume como ese id y por lo tanto lo borra todos los que encuentre.

    Observa la pagina de donde saque el sistema que es un poco parecido a este, alla veras lo que menciono de donde se obtiene el id para poder arrastrar ese comentario a la noticia de donde se coloco. http://www.forosdelweb.com/f18/aport...tarios-638813/

  9. #24
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Sí, en este también está el input oculto para ver el ID de la noticia, pero si te fijas al crear el campo idcomentario lo que hacemos es asignar ID's individuales a cada comentario, independientemente de cuál es el ID de la noticia

    Prueba a hacer lo que te dije y cuéntanos :D

  10. #25
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Cita Iniciado por Doodleo Ver Mensaje
    Sí, en este también está el input oculto para ver el ID de la noticia, pero si te fijas al crear el campo idcomentario lo que hacemos es asignar ID's individuales a cada comentario, independientemente de cuál es el ID de la noticia

    Prueba a hacer lo que te dije y cuéntanos :D
    Me gustaria probar mas bien con el de editar asi me podria dar cuenta si realmente arrastra el comentario que yo elija, pero bien veamos esta parte sobre las tablas a ver si estarian correctas hacerlas asi, o sea si lo que me solicitas es crearlas asi de esta manera.

    la que tengo creada es esta.

    create table comentarios(
    id int(4) not null,
    nick varchar(255),
    email varchar(255),
    comentario blob, key(id))

    sustituirla por esta
    create table comentarios(
    idcomentario int(4) auto_increment not null,
    nick varchar(255),
    email varchar(255),
    comentario blob, key(idcomentario)
    )

  11. #26
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    En el tutorial las tablas no son así, pero tal como la tienes debería ser así:

    Código:
    create table comentarios(
    id int(4) auto_increment not null,
    nick varchar(255),
    email varchar(255),
    comentario blob,
    idcomentario int(4) auto_increment,
    key(id))

  12. #27
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Cita Iniciado por Doodleo Ver Mensaje
    En el tutorial las tablas no son así, pero tal como la tienes debería ser así:

    Código:
    create table comentarios(
    id int(4) auto_increment not null,
    nick varchar(255),
    email varchar(255),
    comentario blob,
    idcomentario int(4) auto_increment,
    key(id))
    Ya si comprendo el asunto, no se me habia ocurrido, ese era el detalle que habia que colocarle, voy a intentar pues a probar aunque me llevara algo de tiempo porque tendre que modificar algunos datos para esto.

    voy a ver si puedo para ver como recojere los datos enviados por el formulario.

    Tengo el archivo borrar asi:
    <?
    //recibimos la variable $id
    $id=$_GET["id"];
    //conectamos a la base
    $connect=mysql_connect("rerererer","arererere","re rerere");
    //Seleccionamos la base
    mysql_select_db("rerererer",$connect);
    //borramos los registros pertenecientes a la id
    mysql_query("delete from comentarios where id='$id'",$connect);
    header("location: noticias_.php?id=$_GET[id]");
    ?>
    como deberia quedar asi:

    <?
    //recibimos la variable $id
    $idcomentario=$_GET["idcomentario"];
    //conectamos a la base
    $connect=mysql_connect("rerererer","arererere","re rerere");
    //Seleccionamos la base
    mysql_select_db("rerererer",$connect);
    //borramos los registros pertenecientes a la id
    mysql_query("delete from comentarios where idcomentario='$idcomentario'",$connect);
    header("location: noticias_.php?id=$_GET[id]");
    ?>
    ?

  13. #28
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    cuando intento crear las tablas recibo un error asi:

    #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

  14. #29
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Tienes que poner de key el campo idcomentario

  15. #30
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    ok ya se creo bien, y con respecto al archivo que recibe los datos como debera estar? ya que anteriormente estaba asi

    <?
    //recibimos la variable $id
    $id=$_GET["id"];
    //conectamos a la base
    $connect=mysql_connect("mrererer","rerere","rerere ");
    //Seleccionamos la base
    mysql_select_db("erere",$connect);
    //borramos los registros pertenecientes a la id
    mysql_query("delete from comentarios where id='$id'",$connect);
    header("location: noticias.php?id=$_GET[id]");
    ?>

Temas Similares

  1. Sistema de noticias tipo Blog
    Por Daichii en el foro Otros Elementos
    Respuestas: 1
    Último Mensaje: 03/02/2010, 20:34
  2. Tutorial Sistema de Noticias
    Por Borjimante en el foro Sugerencias
    Respuestas: 18
    Último Mensaje: 30/09/2006, 18:09

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •