Cual es el codigo para valorar una noticia

Iniciado por neopuerta360, 29 Septiembre 2010, 02:02 AM

0 Miembros y 1 Visitante están viendo este tema.

neopuerta360

jajaja no importa,vere como lo hago conbase de datos!! :D ;)

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360

Lo que quiero es decir que lo voy aprobar con la base de datos aver si me funciona.

Ari Slash


wirelesswifi

#14
Cita de: Diabliyo en 29 Septiembre 2010, 02:19 AM
Cita de: neopuerta360 en 29 Septiembre 2010, 02:02 AM
Hola a todos cual es el codigo para que los visitantes de mi web valoren una notici quiero lago mas o menos como el de escalofrio.com.

Gracias!


Si por valorizar te refieres a votar, entonces la cosa es muy simple... Asumiendo que cada NOTICIA la guardas en una tabla mas o menos asi:
Código (SQL) [Seleccionar]
create table NOTICIAS(
   ID VARCHAR(10) not NULL UNIQUE,
   TITULO VARCHAR(100) not NULL,
   CONTENIDO TEXT not NULL,
   );


Lo mas recomendable, limpio y profesional, es crearte una tabla especial para almacenar los votos, siendo esto asi:

Creamos tabla VOTOS.
Código (SQL) [Seleccionar]
create table VOTOS(
   ID VARCHAR(10) not NULL UNIQUE,
   NOTICIA_ID VARCHAR(10) not NULL,
   IP_USUARIO VARCHAR(20) not NULL,
   FECHA VARCHAR(100) not NULL,
   VOTO VARCHAR(3) not NULL );


La idea es que, cuando creamos una noticia creamos un ID nuevo para la tabla de NOTICIAS donde este difiera de TODOS los demas, siendo este valor como UNICO. Basandonos en esto, cuando alguien insete o intente VOTAR una noticia, creamos un nuevo valor en la tabla VOTO, en donde insertamos el ID de la NOTICIA en NOTICIA_ID, aparte tomamos el IP, FECHA y VOTO (valor). De esta forma sabremos quienes votaron la noticia, que valor le dieron y sera muy simple sacar el conteo.

Código (php) [Seleccionar]
<?php
$link
conectar();
$consmysql_query"select * from VOTOS where NOTICIA_ID='"htmlentitites($_GET["id"], ENT_QUOTES). "';"$link );

$conteomysql_num_rows($cons);

echo 
'Esta noticia posee: '$conteo;

if( 
$conteo==) echo ' voto.';
else echo 
' votos.';
?>


La IP nos sirve de mucho para que antes de guardar el voto, verificamos TODAS LAS IPS del dia ACTUAL ( date("d/m/y", time()) ), y si esta es distinta de las obtenidas, entonces se procesa con exito el voto, de lo contrario se asume que esa ip ya voto.

Saludos !

Buenas,

En la linea 3 sale un error aqui:

$cons= mysql_query( "select * from VOTOS where NOTICIA_ID='". htmlentitites($_GET["id"], ENT_QUOTES). "';", $link );

Quedaria asi:

$cons= mysql_query( "select * from VOTOS where NOTICIA_ID='". htmlentities($_GET["id"], ENT_QUOTES). "';", $link );

Habia un error en htmlentities

Estoy con este, ahora como hago para cuando pulsen Votar agrege un voto a una noticia por a href

Solo me muestra los votos, pero no puedo votar por cada noticia, espero me ayuden

Saludos..

bizco

obtienes el id (get) y luego haces update where id=el que se envio, en el otro hilo te puse el enlace a un tutorial de sql

wirelesswifi

Para mostrar los votos tengo esto:

<? $cons= mysql_query( "select * from votos where idnoticia=".$Id);
              $conteo= mysql_num_rows($cons);
              echo 'Esta noticia posee: '. $conteo;
              if( $conteo==1 ) echo ' voto.';
              else echo ' votos.';?>


Y para votar en la noticia tengo esto:

<? if(isset($_GET["valor"])) {    
if( $conteo==1 ) echo ' voto.';
               else echo ' votos.'; }  ?>


<a href="noticias.php?<?php echo "valor=1&id=$Id"?>">Votar</a>

Ahora cuando pulso "Votar" no agrega el voto a la noticia.

bizco

si no hay codigo que haga el update de la tabla nunca podra añadir nada, te vuelvo a invitar a que le des un ojo al tutorial que te enlace sobre sql,

wirelesswifi

#18
Ya eh entrado a la web que me dices http://www.sql-tutorial.net/SQL-UPDATE.asp y eh entrado a la sección update sql

Con update si envia los votos.

El codigo de arriba esta bien?

Como lo puedo mejorar

Yo tengo todo eso en noticias.php

Pero por ejemplo si inserto esto en noticias.php:

$voto = "UPDATE votos SET voto=voto+1 WHERE idnoticia=".$Id;
mysql_query($voto);


Cuando entro a la noticia empieza a votar solo y no es lo que quiero.

Yo quiero cuando pulsen "Votar" con:

<a href="noticias.php?<?php echo "valor=1&id=$Id"?>">Votar</a>

Vote un voto

Ahora como hago.

Espero me hayen entendido

Saludos...

bizco

por ejemplo las muestras en noticias.php y votas en votar.php o si lo quieres todo en el mismo archivo necesitas especificar mediante una variable cuando se quiere votar o cuando se quiere ver las noticias.