Foros del Web » Programando para Internet » PHP »

Sumar puntos en MSQL

Estas en el tema de Sumar puntos en MSQL en el foro de PHP en Foros del Web. Hola , Me voy a redactar como pueda .. he puesto un enlace que va dentro de un codigo que hace una función , me ...
  #1 (permalink)  
Antiguo 02/03/2013, 05:20
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años
Puntos: 1
Sumar puntos en MSQL

Hola ,
Me voy a redactar como pueda .. he puesto un enlace que va dentro de un codigo que hace una función , me gustaría que cuando hagan click en el enlace , busque en una tabla el usuario y sume +1 punto , si el usuario que busca no existe , que lo cree y le sume +1 , en definitivo , un concurso de atrapar un objeto con ranking.
¿Alguien me ayuda?
  #2 (permalink)  
Antiguo 02/03/2013, 10:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 13
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Sumar puntos en MSQL

Veamos.. tal y como lo dices, si que lo has explicado un poco raro...
Tu quieres, apretando un enlace, aparezca una página con todos los usuarios que se puede "dar un punto" es decir "darle 1 voto a alguien". Eliges el usuario, presionas un botón para darle el punto. Pero si en toda esa lista no está el usuario que quieras votar, agregar uno nuevo (y darle su primer voto), ¿Cierto? ¿Es así lo que quieres?

Muestranos lo que has hecho ya. Para hacernos una idea, de en que cosa fallas. Gracias
  #3 (permalink)  
Antiguo 02/03/2013, 12:03
Avatar de Ekel  
Fecha de Ingreso: noviembre-2009
Mensajes: 62
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Sumar puntos en MSQL

UPDATE tabla SET puntos= +1 WHERE usuario=Usuario



sería algo así.. en la consulta.. ;D
__________________
Black Nation Army
  #4 (permalink)  
Antiguo 02/03/2013, 12:33
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años
Puntos: 1
Respuesta: Sumar puntos en MSQL

No , lo que quiero es que cuando hagas click en una imagen , desde el mismo archivo , añada 1 punto al usuario desde el que haya iniciado sesión en una tabla , si nos , que cree el usuario en la table y sume +1.
Pero es en a href , me gustaría que me pasarais el código ya que no se mucho de este tipo de programación.
Muchas gracias! :)
  #5 (permalink)  
Antiguo 02/03/2013, 17:30
 
Fecha de Ingreso: agosto-2011
Ubicación: mmmmmmmmmm
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Sumar puntos en MSQL

utiliza ajax.. entoncess... con el evento onclick llamas a una funcion js.. y en definitiva esa funcion realizara lo que pides con ajax..!!
  #6 (permalink)  
Antiguo 03/03/2013, 06:29
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Sumar puntos en MSQL

Buenas,

A ver si puedo ayudar un poco...

Tendrías que ir por partes:

a) Crear una/s funcion/es con PHP que hagan el trabajo de la base de datos (buscar el usuario, sumarle "1", si no está crearlo, etc..

b) Crear una llamada AJAX que invoque esta función

c) En el enlace, usar una llamada JS.

Te quedará algo así:

Código PHP:
Ver original
  1. funciones.php
  2.  
  3. function manejarUser(){
  4. //aquí tratas la base de datos
  5. }

Código Javascript:
Ver original
  1. functions.js
  2.  
  3. function llamaManejarUser(){
  4.  //llamada AJAX a funciones.php, de manera que llame a la función "manejaUser"
  5. }

Código HTML:
Ver original
  1. pagina.html
  2.  
  3. <a href="javascript:llamaManejaUser()"><img ... /></a>

Si tu problema es la llamada AJAX, no hay problema, dilo y te paso unas funciones "por defecto" que dan bastante buen resultado.

Espero que ayude.

Saludos!
  #7 (permalink)  
Antiguo 03/03/2013, 13:18
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años
Puntos: 1
Respuesta: Sumar puntos en MSQL

Hola ,
Me vendría bastante bien , si puede ser , ayudame en Ajax que es donde mas perdido voy , Muchas gracias! :)
  #8 (permalink)  
Antiguo 04/03/2013, 00:21
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Sumar puntos en MSQL

Buenas,

te dejo las funciones que venían con un libro que usé para aprender AJAX... a mi me dieron bastante buen resultado.

Código:
myreq=new AJAXREQ(); //creamos un objeto AJAXREQ

//constructor para AJAXREQ
function AJAXREQ(){
    this.req=createREQ();
    this.onreadystatechange=null;
    this.check=function(){if(!this.req){/*sitio sin ajax*/}};
    this.check();
}

//función que crea el request
function createREQ(){
  try{
    req=new XMLHttpRequest();
  }catch(err1){
    try{
      req=new ActiveXObject("Msxml2.XMLHTTP");
    }catch (err2){
        try{
          req=new ActiveXObject("Microsoft.XMLHTTP");
        }catch (err3){
          req=false;
        }
      }
    }
  
  return req;
}

//función que envía el request
function requestPOST(url, query, req){
  req.open("POST", url, false);
  req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  req.send(query);
}

//función para lanzar AJAX
function doAjax(url,query,getxml,dtc,ev){
  myreq.req.onreadystatechange=function(){
    if(myreq.req.readyState==4){
      if(myreq.req.status==200){
        var item=myreq.req.responseText;

        if(getxml==1){
          item=myreq.req.responseXML;
        }

         print(item, dtc,ev);
       }
     }else{
       printWait(dtc,0);
     }
   };

  requestPOST(url, query, myreq.req);
}

//función para evaluar el resultado
function print(item, dtc, ev){
  if(ev==1){
    eval('('+item+')');
  }else{
    document.getElementById(dtc).innerHTML=item;
  }
}

//función que muestra mensajes de espera
function printWait(dtc,i){
  if(printMessage(i)!=document.getElementById(dtc).innerHTML){
    document.getElementById(dtc).innerHTML='';
    document.getElementById(dtc).innerHTML=printMessage(i)
  }
}

//función para mostrar mensajes
function printMessage(i){
  l='';
  l=navigator.userLanguage;

  if(l==null){
    l=navigator.language;
  }

 t=['Cargando...', 'Su navegador no permite AJAX', 'Error inesperado'];

  if(l.indexOf('es') == -1){
    t=['Loading...', "Your browser doesn't allow AJAX", 'Unexpected error'];
  }

  return ''; //aquí pones un código html, como una imagen y el texto "t[i]"
}
Entonces, para hacer una llamada AJAX, harías:

Código:
doAjax('url_de_destino', 'datos_post', 0, 'div_a_cambiar', 0);
Donde:

- url_de_destino: pagina php donde tratas la base de datos
- datos_post: datos post en forma "var=val&var2=val2
- 0/1: para saber si la respuesta es texto (0) o XML (1)
- div_a_cambiar: div (u otro elemento) en el que pondremos el contenido arrojado por la petición. Debe ser un ID
- 0/1: indicamos si el resultado será tal cual (0), o bien será evaluado por "eval()" (1).

Creo que no tendrás problema para adaptar esto a tus necesidades.

Saludos!

Etiquetas: msql, puntos, tabla
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 07:21.