Foros del Web » Programando para Internet » Javascript »

Actualizar los datos de una consulta hecha con MYSQL con AJAX

Estas en el tema de Actualizar los datos de una consulta hecha con MYSQL con AJAX en el foro de Javascript en Foros del Web. Hola a todos! Espero puedan orientarme en esto ya que hace muy poco que empece con AJAX. Voy a simplificar mi consulta. Tengo una pagina ...
  #1 (permalink)  
Antiguo 22/04/2012, 12:24
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 84
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta Actualizar los datos de una consulta hecha con MYSQL con AJAX

Hola a todos!

Espero puedan orientarme en esto ya que hace muy poco que empece con AJAX.
Voy a simplificar mi consulta.

Tengo una pagina de peliculas que me muestra en la pagina todas las peliculas que hay en la base de datos:

peliculas.php:

$result = "SELECT peliculas.id_pelicula, peliculas.descripcion, notas.nota, where peliculas.id_usuario = '$usu_log';

while($row = mysql_fetch_array($result))
{
<div id="peli"><p><?= $row['pelicula']; ?></p></div>
<div id="desc"><p><?= $row['descripcion']; ?></p></div>

Y tengo un sistema de puntuacion por estrellas hecho con CSS.
<ul class="star-rating">
<li class="current-rating" style="width: <?= $row['nota'] ?>%;"></div> Esto muestra el puntaje actual de esta pelicula.
<li><a href="calificar.php?id_usuario=<?php echo $usu_log; ?>&id_pelicula=<?= $row['pelicula']; ?>&calificacion=<?php echo "1.0"; ?>class="one-star">1.0</a></li>
<li><a href="calificar.php?id_usuario=<?php echo $usu_log; ?>&id_pelicula=<?= $row['pelicula']; ?>&calificacion=<?php echo "2.0"; ?>class="two-star">2.0</a></li>
<li><a href="calificar.php?id_usuario=<?php echo $usu_log; ?>&id_pelicula=<?= $row['pelicula']; ?>&calificacion=<?php echo "3.0"; ?>class="three-star">3.0</a></li
</ul>
}

Por href paso las variables usuario, pelicula y calificacion a calificar.php donde las capturo con $_GET para luego actualizar mi base de datos y volver a peliculas.php con un header. Asi:

calificar.php

<?php
$usuario = $_GET['id_usuario'];
$calificacion = $_GET['calificacion'];
$pelicula = $_GET['id_pelicula'];

mysql_query("INSERT INTO phpbd.notas (id_usuario,id_pelicula,nota) VALUES('$usuario','$pelicula','$calificacion')");

header("location:peliculas.php");

El problema de hacer esto es que cada vez que alguien califica una pelicula se me recarga toda la pagina. Yo quiero que solo se recargue la puntuacion de la pelicula que calificaron. O sea se me tiene que actualizar esta linea para la pelicula calificada:

<li class="current-rating" style="width: <?= $row['nota'] ?>%;"></div>


La pagina se ve algo asi:

pelicula 1 - descripcion1 - puntuacion1
pelicula 2 - descripcion2 - puntuacion2
pelicula 3 - descripcion3 - puntuacion2
etc

Espero me puedan orientar. Gracias!
  #2 (permalink)  
Antiguo 22/04/2012, 16:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Actualizar los datos de una consulta hecha con MYSQL con AJAX

Te dejo una demo en funcionamiento
http://foros.emprear.com/ajax/html-css-js-ajax/
Está el código para descargar y analizar

Si bien el ejemplo muestra otras cosas, tambíen tenés puesto un sistema de votación sencillo.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 22/04/2012, 16:54
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 84
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Actualizar los datos de una consulta hecha con MYSQL con AJAX

Lo que veo en este ejemplo es que cuando se vota por un pais, se recargan todos los paises que figuran en ese cuadrito y no solamente el pais que votaste.

No me podes orientar un poco en como aplicarlo a mi ejemplo?
Gracias!!
  #4 (permalink)  
Antiguo 22/04/2012, 17:21
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Actualizar los datos de una consulta hecha con MYSQL con AJAX

@pablokru

A ver, fijate, tené en cuenta que el mío es un ejemplo genérico para que te des cuenta de como funciona, primero el tema de Ajax y cargar ese contenido en un div (golf y futbol), una vez aprendido eso, de ser necsario tenes el ejemplo de cargar js y css para un archivo cargado con Ajax. Y finalmente el tema de la base de datos,
por ejemplo si yo crease un link con

Código HTML:
Ver original
  1. <a href="#" onclick="cargarAjax('ciudades.php?pais=Australia&amp;idciudad=009','contenedorAjax');return false;">Votar por Camberra</a>
(lo agregue al ejemplo en Web)
sabiendo (figura en mi archivo sql) que el id de camberra es 009, verías solo ese dato actualizado con el nuevo rating.

Sería bueno que lo analices mas en detalle y leas algunos manuales. Se supone que si estás haciendo una aplicación de estas características es que tenés un poco más claro ciertos conceptos.

Yo estoy mostrando todo en un div, vos deberías mostrar cada resultado de una votación en el div correspondiente a mostrar los resultados de cada pelicula.
De todas formas en ninguno de los casos se racargaría toda la página

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 23/04/2012, 04:53
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Actualizar los datos de una consulta hecha con MYSQL con AJAX

Muchas gracias por la info que has puesto, Emprear. Estaba buscando justamente cómo hacer algunas cosas que propones en el ejemplo, y con tu ejemplo por lo menos puedo empezar a trastear :)
__________________
diseño web | Clan Rol

Etiquetas: ajax, mysql, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:26.