Hola me gustaria utilizar una valoracion por estrellas en mi pagina, y me gustaria si conoceis algun, normalita, ya que no estoy acostumbrado a trabajar cono ajax, o si no es una clase ya creada, como la hicisteis vosotros?
un saludo!
| ||||
Respuesta: consejo para star rating? Hola, hay muchas en la web, si lo buscases en google verias montones de opciones. No obstante, si quieres algo bien simple podrias usar algo como esto:
Código HTML:
Ver original
Código PHP:
Ver original
Código MySQL:
Ver original Como veras, no existe ninguna dificultad en un modulo de rating. Podrias cambiar el input number por un grupo de radio options. Podrias ocultar esos radio options y agregar labels con forma de estrellitas. Podrias capturar el evento onsubmit del formulario y realizar con ajax el proceso. O podrias no hacer nada de eso, y aun asi funcionaria. Puedes obtener cualquier info de las calificaciones con simples y elementales SQL, usando la funciones: COUNT() -> Cantidad de calificaciones. AVG() -> Promedio de calificaciones |
| ||||
Respuesta: consejo para star rating? O si l prefieres como una clase
Código PHP:
Ver original |
| ||||
Respuesta: consejo para star rating? Cita: El codigo que te puse no esta resuelto, es simplemente la estructura, si es verdad que has visto muchos no te costara adaptarlo, son solo 50 lineas.no hay ninguna clase o codigo ya resuelto que me valga, he probado muchos y aun asi acomplandolos no me valen Por otro lado, si a la clase que escribi, le incorporas una propiedad mas, te puede servir para calificar cualquier cosa, la web, una pagina, una imagen, una publicacion, un usuario, una seccion, un color, una encuesta, lo que se te antoje. El codigo completo final de una clase asi, dudo que sobrepase las 100 lineas. No usa ajax pero incorporarlo luego no seran mas que unas pocas lineas js (ni hablar si usas jquery u otro fw).. Vamos que no es tan dificil... |
| |||
Respuesta: consejo para star rating? Crea en la BD id | rating_id | rating_num | IP y donde vayas a poner las estrellitas: Código PHP: Código HTML: <script type="text/javascript"> $(document).ready(function() { $('.estrella').click(function(){ var parent = $(this).parent().attr('id'); var service = $(this).parent().attr('data'); var rating = $(this).attr('data'); var dataString = 'id='+service+'&rating='+rating; $.ajax({ type: "POST", url: "includes/addvote.php", data: dataString, success: function() { var new_sum_rating = parseInt($('#'+parent+' #sumrating').attr('data')) + parseInt(rating); var new_num_rating = parseInt($('#'+parent+' #numrating').attr('data')) + 1; var new_rating = Math.round(new_sum_rating / new_num_rating); for(i=1;i<=new_rating;i++){ $('#'+parent+'_'+i+' .estrella').removeClass("estrella"); $('#'+parent+'_'+i+' .estrella').addClass("selected"); } $('#'+parent+' .ok').empty(); $('#'+parent+' #actual').empty(); $('#'+parent+' #actual').append('('+new_rating+'/5) basado en '+new_num_rating+' votos!').fadeIn("slow"); $('#'+parent+' .ok').append('Gracias por enviar tu voto!').fadeIn("slow"); $('#'+parent+' #actual').fadeOut(5000); $('#'+parent+' .ok').fadeOut(5000); } }); }); $('.estrella').hover(function(){ var parent = $(this).parent().attr('id'); $('#'+parent+' .estrella').css('background-image', 'url(images/estrella-gris.png)'); for(i=1;i<=$(this).attr('data');i++){ $('#'+parent+'_'+i).css('background-image', 'url(images/estrella-verde.png)'); } }); }); </script> Código PHP: |
| ||||
Respuesta: consejo para star rating? Hola Raul, me dan un par de errores, he añadido a mi tabla las columnas rating_id , rating_num y IP. Los errores que me muestra la pag son: -$row_services indefinida -mysql_query() expects parameter 2 to be resource, object given in C:\\....videos.php -mysql_result() expects parameter 1 to be resource, boolean given in C:\\....videos.php no tengo muy claro que es la variable $row_services cuando la nombras en
Código PHP:
Ver original y la columna IP no se usa no? Última edición por warywin; 26/02/2014 a las 14:12 |
Etiquetas: |