Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.
Autor
|
Tema: Cual es el codigo para valorar una noticia (Leído 3,841 veces)
|
neopuerta360
Desconectado
Mensajes: 240
La mejor comunidad de neopets
|
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!
|
|
|
|
|
En línea
|
|
|
|
Diabliyo
Desconectado
Mensajes: 1.270
M.S.I Angel Cantu
|
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: 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. 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. <?php $link= conectar(); $cons= mysql_query( "select * from VOTOS where NOTICIA_ID='". htmlentitites($_GET["id"], ENT_QUOTES). "';", $link ); $conteo= mysql_num_rows($cons); echo 'Esta noticia posee: '. $conteo; if( $conteo==1 ) 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 !
|
|
|
|
« Última modificación: 29 Septiembre 2010, 02:24 por Diabliyo »
|
En línea
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Prefiero está, function mostrarVotos($sID){ if(is_numeric($sID)) $sSQL = "SELECT * FROM tblNoticia WHERE(sID = '$sID')"; $sQuery = mysql_query($sSQL, $sHandler); if($sQuery){ $sVotos = mysql_num_rows($sQuery); if($sVotos > 1){ return "Esta noticia posee: $sVotos votos."; }else if($sVotos == 1){ return "Esta noticia posee: $sVotos voto."; }else{ return "Error."; } }else{ return mysql_error(); } }else{ return "El valor: $sID, no es un valor numérico."; } }
|
|
|
|
|
En línea
|
 ---
|
|
|
Diabliyo
Desconectado
Mensajes: 1.270
M.S.I Angel Cantu
|
La opcion que menciona Shell root tambien es buena, pero digamos que es super-simple, vaya, por si quieres algo rapido. El inconveniente de manejar los VOTOS en la misma tabla de la NOTICIA, es que no tienes la posibilidad de contabilizar los VOTOS por IP y pues podrian bombardearte los Votos, por otro lado, usar una TABLA especial para los Votos te brinda mejor control, saber Quienes votan, si usas Geolocalizacion, podrias hasta armar un Log Estadistico de: Que regiones te Votan mas ! y cosas asi... Vaya, detalles visualies estadisticos que si tienes un sitio grande y quieres venderlo para publicidad, necesitarias algo asi  . Te reitero, ambas opciones son buenas y funcionan, todo depende la magnitud. Saludos !
|
|
|
|
|
En línea
|
|
|
|
neopuerta360
Desconectado
Mensajes: 240
La mejor comunidad de neopets
|
ok gracias.
|
|
|
|
|
En línea
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Lo harás sin "bases de datos", verdad? 
|
|
|
|
|
En línea
|
 ---
|
|
|
neopuerta360
Desconectado
Mensajes: 240
La mejor comunidad de neopets
|
si!
|
|
|
|
|
En línea
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Entonces, porque no lo dijisteis! Perdimos nuestro tiempo.
|
|
|
|
|
En línea
|
 ---
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 954
|
Tienes que saber que usar una Base De Datos es una ventaja no una desventaja... Me imagino como harás un paginador xD
|
|
|
|
|
En línea
|
|
|
|
drvy | BSM
Desconectado
Mensajes: 1.129
badstupidmonkey
|
Yo tambien en mis principios me negaba a usar bases de datos... utilizaba archivos txt y extensiones raras (que no existian) para almacenar toda la info... un dia vino un tio y me dijo "negro, como no uses bases de datos te borro del msn..." ahi empeze a utilizar BD  ahora enserio.. miarroba (creo que es el que usas) permite usar bases de datos. Busca en google como configurarla. Codigos que ahora te cuestan 50 lineas con BD's los harias en 10... piensatelo. Saludos
|
|
|
|
|
En línea
|
|
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
jajaja no importa,vere como lo hago conbase de datos!!  Sí ya lo tienes.
|
|
|
|
|
En línea
|
 ---
|
|
|
neopuerta360
Desconectado
Mensajes: 240
La mejor comunidad de neopets
|
Lo que quiero es decir que lo voy aprobar con la base de datos aver si me funciona.
|
|
|
|
|
En línea
|
|
|
|
|
|
|
wirelesswifi
|
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: 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. 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. <?php $link= conectar(); $cons= mysql_query( "select * from VOTOS where NOTICIA_ID='". htmlentitites($_GET["id"], ENT_QUOTES). "';", $link ); $conteo= mysql_num_rows($cons); echo 'Esta noticia posee: '. $conteo; if( $conteo==1 ) 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..
|
|
|
|
« Última modificación: 8 Octubre 2010, 20:49 por wirelesswifi »
|
En línea
|
|
|
|
|
|