2009-12-24 13 views
0

Chaque fois que je vote vers le haut ou vers le bas, il suffit de mettre un 1. Mais je veux que votes_up = votes_up + 1 inkrements chaque fois que je vote vers le haut.Voter à chaque fois pour 1 Comment résoudre ce problème?

ce code est en php

public function voteUp($id) 
    { 
    $this->initDB(); 

    $q="update twitter.tweets set vote_up=vote_up+1 where id=$id"; 
    $this->db->query($q); 
    } 

le résultat est

Bas Votes: 1

Up Votes: 1

Total des votes: 18

Comment puis-je résoudre que les votes vers le bas et les votes vers le haut sont inscrits?

Répondre

2

Vous ne définissez pas $ id ou quelque chose d'autre ne va pas. Ce SQL semble bien. .

+0

id est correct défini avec ID est tout ok si l'ID était faux je ne pouvais pas mettre le vote jusqu'à définir sur cet ID – streetparade

+1

Avez-vous essayé d'exécuter ce SQL dans la console? Parce que je parie que ça fonctionne très bien. –

+0

désolé que c'était un problème de modèle ainsi votre réponse est correcte pls éditer votre réponse afin que je puisse voter et accepter votre réponse – streetparade

0

Je suppose qu'il existe une fonction voteDown() de fondamentalement la même structure. Peut-être que cela est aussi appelé inutilement.

Avez-vous regardé la structure de la base de données? Le type de données est peut-être incorrect pour la colonne vote_up. Je pense que vous voudriez que le type soit int unsigned not null default 0.