[PHP]incrementation

Résolu
naruto-94 Messages postés 865 Date d'inscription   Statut Membre Dernière intervention   -  
naruto-94 Messages postés 865 Date d'inscription   Statut Membre Dernière intervention   -
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 794 Date d'inscription   Statut Contributeur Dernière intervention   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 3672 Date d'inscription   Statut Membre Dernière intervention   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 865 Date d'inscription   Statut Membre Dernière intervention   188
 
Merci Reivax962 sa marche =)
et merci aussi pour ta réponse vlmath !!

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