Foros del Web » Programando para Internet » Jquery »

Se me presenta un problema con Jquery

Estas en el tema de Se me presenta un problema con Jquery en el foro de Jquery en Foros del Web. La verdad soy muy nuevo en este lenguaje ya que mi lenguaje para todo es php y muy poco javascript, intentaré explicar mi caso para ...
  #1 (permalink)  
Antiguo 23/12/2015, 16:27
Avatar de JethCrew  
Fecha de Ingreso: marzo-2012
Ubicación: México
Mensajes: 67
Antigüedad: 12 años, 8 meses
Puntos: 3
Se me presenta un problema con Jquery

La verdad soy muy nuevo en este lenguaje ya que mi lenguaje para todo es php y muy poco javascript, intentaré explicar mi caso para ver si me pueden orientar un poco con este problema que no se como hacerlo.

Tengo un script de competencias de imagenes, al hacer click en alguna de ellas te manda al siguiente link (de ejemplo):

index.php?ganador=1&perdedor=2

Esto lo que hace es ver quien de las dos ganó y guardarlo en la base de datos (siendo la imagen con id 1 la ganadora).

Al finalizar y guardar en la base de datos hago que se actualice la página para que vuelva a mostrar otras dos imágenes diferentes.

Lo que quiero lograr es que se actualice solo la competencia de las dos imágenes usando ajax sin tener que recargar la página.

Ya vi muchos tutoriales pero no logro hacerlo funcionar alguna ayuda teórica o con código que puedan proporcionarme?

Se los agradecería mucho saludos y gracias.
__________________
Descubre Bicicletas Spinning - Ganar Dinero Con Mobidea
  #2 (permalink)  
Antiguo 24/12/2015, 09:16
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Se me presenta un problema con Jquery

si muestras el codigo es mas facil ayudarte basado en lo que tienes hasta ahora, es facil lo que quieres pero debo aclarar algo asi que muestra lo que tienes
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 25/12/2015, 18:33
Avatar de JethCrew  
Fecha de Ingreso: marzo-2012
Ubicación: México
Mensajes: 67
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Se me presenta un problema con Jquery

Aquí te dejo el código donde actualizo la base de datos y el html donde llamo la imagen a mostrar y el link dependiendo la variable, estan dentro de un div llamado faces que a su vez estos dos divs estan dentro de otro llamado dual. Espero tu respuesta y ver si puedes ayudarme.

Lo que tengo entendido es que debería de recargar solamente el div dual pero no encuentro la forma de hacerlo o si yo estoy en lo correcto, por eso pido su ayuda porfavor. Saludos y gracias por tu atención.

Código PHP:
Ver original
  1. // Si la calificación - actualizar la base de datos
  2. if ($_GET['winner'] && $_GET['loser']) {
  3.  
  4.     // Obtener el ganador
  5.     $result = mysql_query("SELECT * FROM images WHERE image_id = ".$_GET['winner']." ");
  6.     $winner = mysql_fetch_object($result);
  7.  
  8.     // Obtener el perdedor
  9.     $result = mysql_query("SELECT * FROM images WHERE image_id = ".$_GET['loser']." ");
  10.     $loser = mysql_fetch_object($result);
  11.  
  12.     //Actualización de la puntuación ganadora
  13.     $winner_expected = expected($loser->score, $winner->score);
  14.     $winner_new_score = win($winner->score, $winner_expected);
  15.         //test print "Winner: ".$winner->score." - ".$winner_new_score." - ".$winner_expected."<br>";
  16.     mysql_query("UPDATE images SET score = ".$winner_new_score.", wins = wins+1 WHERE image_id = ".$_GET['winner']);
  17.  
  18.     // Actualizar la puntuación de un perdedor
  19.     $loser_expected = expected($winner->score, $loser->score);
  20.     $loser_new_score = loss($loser->score, $loser_expected);
  21.         //test print "Loser: ".$loser->score." - ".$loser_new_score." - ".$loser_expected."<br>";
  22.     mysql_query("UPDATE images SET score = ".$loser_new_score.", losses = losses+1  WHERE image_id = ".$_GET['loser']);
  23.  
  24.     // Inserte resultado de la batalla
  25.     mysql_query("INSERT INTO battles SET winner = ".$_GET['winner'].", loser = ".$_GET['loser']." ");
  26.  
  27.     // Volver a la página principal
  28.     header("Location: http://localhost/facemash/");
  29. }
  30.  
  31. // Cerrar la conexión
  32. mysql_close();
  33. //////////////////////////////////////////////////////////////////////////
  34. ?>
  35.  
  36. <html lang="es">
  37. <body>
  38. <div id="dual">
  39.         <div class="faces">
  40. <a href="index.php?winner=<?=$images[0]->image_id?>&loser=<?=$images[1]->image_id?>">
  41. <img id="img" class="photos" src="images/<?=$images[0]->filename?>">
  42. </div>
  43. <div class="faces">
  44. <a href="index.php?winner=<?=$images[1]->image_id?>&loser=<?=$images[0]->image_id?>">
  45. <img id="img" class="photos" src="images/<?=$images[1]->filename?>" />
  46. </div>
  47. </div>
__________________
Descubre Bicicletas Spinning - Ganar Dinero Con Mobidea
  #4 (permalink)  
Antiguo 27/12/2015, 14:19
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Se me presenta un problema con Jquery

Lo que puedes hacer al enviar los datos por get con una funcion o un evento.
function comosellame(){

//Query
var dato="rescatas el dato querese en este caso el id, por ejemplo con el atributo data-id"
var id=$('#identificador').attr('data-id');
var id2=$('#identificador2').attr('data-id');
$.ajax({
type: 'GET',
url: 'paginadeproceso.php',
data : {
winer:id,
lost:id2
}
}).done(function(respuesta) {
$('#cuerpo').html(respuesta);
});

}
  #5 (permalink)  
Antiguo 31/12/2015, 02:21
Avatar de JethCrew  
Fecha de Ingreso: marzo-2012
Ubicación: México
Mensajes: 67
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Se me presenta un problema con Jquery

Estoy usando esto pero no se la forma de activar esto para realizar lo que quiero podrías guiarme un poco y decirme si estoy bien en como aplicaría el código? soy muy nuevo en este lenguaje por favor si me puedes proporcionar ayuda te lo agradecería.
Código Javascript:
Ver original
  1. <script>
  2. //Query
  3. var dato="image_id"
  4. var id1=$('#identificador').attr('image_id');
  5. var id2=$('#identificador2').attr('image_id');
  6. $.ajax({
  7. type: 'GET',
  8. url: 'index.php',
  9. data : {
  10. winner:id1,
  11. loser:id2
  12. }
  13. }).done(function(respuesta) {
  14. $('#dual').html(respuesta);
  15. });
  16. }
  17. </script>
__________________
Descubre Bicicletas Spinning - Ganar Dinero Con Mobidea
  #6 (permalink)  
Antiguo 02/01/2016, 09:25
 
Fecha de Ingreso: diciembre-2015
Ubicación: Valencia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 10
Respuesta: Se me presenta un problema con Jquery

Cita:
Iniciado por JethCrew Ver Mensaje
Estoy usando esto pero no se la forma de activar esto para realizar lo que quiero podrías guiarme un poco y decirme si estoy bien en como aplicaría el código? soy muy nuevo en este lenguaje por favor si me puedes proporcionar ayuda te lo agradecería.
Código Javascript:
Ver original
  1. <script>
  2. //Query
  3. var dato="image_id"
  4. var id1=$('#identificador').attr('image_id');
  5. var id2=$('#identificador2').attr('image_id');
  6. $.ajax({
  7. type: 'GET',
  8. url: 'index.php',
  9. data : {
  10. winner:id1,
  11. loser:id2
  12. }
  13. }).done(function(respuesta) {
  14. $('#dual').html(respuesta);
  15. });
  16. }
  17. </script>
El código está bien, ¿Tal y como tienes ahora te funciona para guardar el ganador/perdedor en la DB?

Si es así, yo lo que haría es; después de hacer la petición GET sobre el archivo php que inserta el ganador/perdedor, obtendría las dos siguientes imágenes e imprimiría una respuesta json con un array. Por ejemplo:

Código PHP:
Ver original
  1.     array('url' => 'URL_IMAGEN', 'id' => 'ID_IMAGEN'),
  2.     array('url' => 'URL_IMAGEN2', 'id' => 'ID_IMAGEN2')
  3. );

Y luego con el mismo script que tienes para procesar el ganador, en la respuesta la convertiría en tipo json:

Código Javascript:
Ver original
  1. var dato="image_id"
  2. var id1=$('#identificador').attr('image_id');
  3. var id2=$('#identificador2').attr('image_id');
  4. $.ajax({
  5. type: 'GET',
  6. url: 'index.php',
  7. data : {
  8. winner:id1,
  9. loser:id2
  10. },
  11. dataType: 'json'
  12. }).done(function(respuesta) {
  13. console.log(respuesta);
  14. //CAMBIAR LA URL Y SU image_id DE LA IMAGEN 1 POR ESTOS
  15. //respuesta[0].url
  16. //respuesta[0].id
  17. //CAMBIAR LA URL Y SU image_id DE LA IMAGEN 2 POR ESTOS
  18. //respuesta[1].url
  19. //respuesta[1].id
  20.  
  21. });
  22. }

Etiquetas: ajax
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:25.