[PHP]incrementation

Résolu
naruto-94 Messages postés 904 Statut Membre -  
naruto-94 Messages postés 904 Statut Membre -
Bonsoir,

j'ai un petit probleme, j'aimerai incrementer la colonne nbr_aff de la table image en meme temps que l'image apparaisse .

Voici le code :

<?PHP

//connexion sql
require ("config/conf.php"); 

//selection d'une image aleatoire
$sql = 'SELECT id,lien_image,nbr_aff FROM images ORDER BY rand() limit 0,1 ';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
while($data = mysql_fetch_array($req)) 
{
//affiche une image au hasard
echo '<img src= ' .$data['lien_image'] . '>' ;
 

// C'est ici que sa me pose probleme j'aimerai incrementer la colonne nbr_aff selon l'id de l'image mais je n'y arrive pas.
$sql2 = "UPDATE pub SET nbr_aff =" .$data['nbr_aff'] + 1. "WHERE id = .$data['id']"  ;


}


mysql_close();
?>



Merci d'avance.

PS : nbr_aff c'est le nombre de fois que l'image c'est affiché.

----------------
- [ Juck'n0 ]-
A voir également:

3 réponses

vlmath Messages postés 833 Statut Contributeur 160
 
Salut,

Il y a quelques fautes dans la variable. Essaye avec ça :

[code]
$sql2 = "UPDATE pub SET nbr_aff = '".$data['nbr_aff'] + 1 ."' WHERE id = ".$data['id'] ;
[/code]

Si ça ne marche pas, dis le nous.

@bientôt.
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

En fait, je te conseille plutôt de faire l'incrémentation en SQL.
Pourquoi ? Tout simplement dans le cas où plusieus utilisateurs tombent en même temps sur la même image, tu ne réutilises pas la valeur trouvée au début du script, mais bien celle en cours dans la base de données.
Ensuite, tu n'as pas demandé à php d'exécuter la requête ! Alors forcément, ça marche mons bien ;)

Cela donnerait donc :
$sql2 = "UPDATE pub SET nbr_aff=nbr_aff+1 WHERE id=".$data['id'];
mysql_query($sql2);
Voilà :)
0
naruto-94 Messages postés 904 Statut Membre 188
 
Merci Reivax962 sa marche =)
et merci aussi pour ta réponse vlmath !!

a bientot
----------------
- [ Juck'n0 ]-
0