Foros del Web » Programando para Internet » Jquery »

insertar en bd mysql utilizando jquery sin usar formulario

Estas en el tema de insertar en bd mysql utilizando jquery sin usar formulario en el foro de Jquery en Foros del Web. Ok primero que todo yo se que el javascript se ejecuta en el lado del cliente y tambien se que me haria falta un archivo ...
  #1 (permalink)  
Antiguo 02/08/2011, 11:23
Avatar de francisco93  
Fecha de Ingreso: julio-2011
Ubicación: Soy ciudadano del mundo, pero vivo en Canarias :)
Mensajes: 58
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta insertar en bd mysql utilizando jquery sin usar formulario

Ok primero que todo yo se que el javascript se ejecuta en el lado del cliente y tambien se que me haria falta un archivo php lo que no se es como hacer los siguiente jejeje voy a poner un ejemplo para explicar mejor
Digamos yo tengo una pagina de videos bien quiero saber cual es el video mas visto para eso necesito un sistema de hits que cada vez que el usuario de un click en el enlace al video me inserta 1+ en el recuadro pero he aqui el problema soy nuevo es jquery y no tengo ni idea de como hacerlo para un enlace es decir una etiqueta <a>
y no un formulario. bien lo que quisiera es saber como hacer que cuando un usuario de un click (bueno ya esa parte la se) Se ejecute el fichero php. Espero puedan ayudarme y muchas gracias de antemano
  #2 (permalink)  
Antiguo 02/08/2011, 11:45
 
Fecha de Ingreso: julio-2011
Ubicación: Mexico
Mensajes: 36
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: insertar en bd mysql utilizando jquery sin usar formulario

Hola podrias hacer lo siguiente.

Primero identificar esa etiqueta anchor <a> con un ID o una CLASE asi cuando alguien de click en el se ejecute el codigo jQuery que te servira para realizar tu consulta PHP/MySQL.

Segundo pues crear esa consulta en jQuery usando la funcion $.post()

Seria algo asi

Código Javascript:
Ver original
  1. $('#tu_etiqueta_anchor').click(function(){
  2.     $.post("hits.php");    
  3. });

Aqui cada que des click en la etiqueta <a> con el id "#tu_etiqueta_anchor" ejecutaras la funcion $.post();

Ahora en el PHP todo lo que debes hacer es primero obtenerl el valor actual del campo donde guardas los HITS

SELECT hits FROM tu_tabla WHERE id_video = id

Guardas el resultado en una variable y luego la auto incrementas

$hit = $row['hits'];
$hit ++;

Luego metes el valor de nuevo a tu bd si era 0 ahora es 1 y asi

INSERT INO tu_tabla (hits) values ($hit)

y ya Cada vez que aprieten el enlace se ejecutara la consulta y aumentara el valor, ahora para que un usuario no este dando click a cada rato y aumente el valor a lo loco podrias usar SESIONES o Identificar la IP para que solo pueda votar una vez.

Otra cosa que se me pasaba es que debes identificar tu video para que el HIT se agregue al video que quieres por ejemplo si pones el video dimanicmente con PHP o como quiera que lo hagas, seria bueno que lo envluevas en un DIV cuyo ID sea el ID del video en tu BD

<div id="video_01" class="clase_video"></div>

Despues volviendo a jQuery en la funcion primero deberas sacar el ID de ese div identificandolo a traves de la clase y despues pasarla como parametro en la funcion $.post() seria algo asi.

Código Javascript:
Ver original
  1. $('#tu_etiqueta_anchor').click(function(){
  2.  
  3.     id =  $('.clase_video').attr('id').value();
  4.  
  5.     $.post("hits.php", { id: id});     
  6.  
  7. });

De esta forma pasas como parametro un valor y asi lo usas con $POST['id'] en tu PHP seria algo asi

SELECT hits FROM tu_tabla WHERE id_video = $POST['ID']

Solo que checa bien eso del ATTR en jquery xke no estoy seguro de que sea asi

Etiquetas: ajax, bd, mysql, php, formulario
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 04:11.