La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  [résolu]probleme de syntaxe if dans mon code
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: [résolu]probleme de syntaxe if dans mon code  (Lu 1986 fois)
[résolu]probleme de syntaxe if dans mon code
« sur: le 02-11-2007 a 01:54:40 »
GoldRazor
P'tit nouveau
**

Hors-Ligne

Messages: 79





Voir le Profil
Répondre avec citation

Bonjour,

Je ne trouve pas la syntaxe correcte pour faire marcher mon code.

Regardez le code ci dessous :

Je n'arrive pas à resoudre la premiere ligne.

Code:
if($motclef existe dans la base recherche colonne mots ){
mysql_query("UPDATE `recherche` SET `nbr`=`nbr`+1 WHERE `mots`= $motclef");
}
else
{
mysql_query("INSERT INTO recherche(`mots`,`date`,`nbr`) VALUES('".$_GET['mots']."','".date('U')."','1')");
}


Si vous pensez avoir la solution, n'hésitez pas.

Merci

« Dernière Édition: le 02-11-2007 a 14:27:43 par GoldRazor » Rapporter au modérateur  

Re:probleme de syntaxe if dans mon code
« Répondre #1 sur: le 02-11-2007 a 10:52:41 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 104





Voir le Profil    WWW
Répondre avec citation

Il faudrait que tu fasses une première requête avec un count(nbre d'enregistrements) pour voir si le mot clé est présent dans la base.
Ensuite, si le résultat est 0 alors tu génères ta requête d'insertion.

Rapporter au modérateur  

Conception de sites web : http://www.crea-fr.com
Re:probleme de syntaxe if dans mon code
« Répondre #2 sur: le 02-11-2007 a 11:32:28 »
MarvinLeRouge
Superactif
****

Hors-Ligne

Messages: 584





Voir le Profil    WWW
Répondre avec citation

Pas la peine :

1) tu fais ton update TOUJOURS
2) tu récupères le nombre de lignes affectées (potentiellement 0) avec mysql_affected_rows (de mémoire le nom de la fonction, vérifie)
3) Si ce nombre est 0, tu déclenches l'insertion

Et voilou

Rapporter au modérateur  

Développeur web / Création de site internet
jean@ceugniet.com
Jean Ceugniet, Développement web
SIRET : 523 611 044 00018
Re:probleme de syntaxe if dans mon code
« Répondre #3 sur: le 02-11-2007 a 12:14:14 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 104





Voir le Profil    WWW
Répondre avec citation

Citation de: MarvinLeRouge le le 02-11-2007 a 11:32:28
Pas la peine :

1) tu fais ton update TOUJOURS
2) tu récupères le nombre de lignes affectées (potentiellement 0) avec mysql_affected_rows (de mémoire le nom de la fonction, vérifie)
3) Si ce nombre est 0, tu déclenches l'insertion

Et voilou

La différence entre cette solution et la mienne est le nombre de requêtes : tu en fais 3 au lieu de 2 donc temps d'exécution plus long.

Rapporter au modérateur  

Conception de sites web : http://www.crea-fr.com
Re:probleme de syntaxe if dans mon code
« Répondre #4 sur: le 02-11-2007 a 14:27:19 »
GoldRazor
P'tit nouveau
**

Hors-Ligne

Messages: 79





Voir le Profil
Répondre avec citation

merci pour vos propositions.

Donc voici la solution

Code:
//Requête SQL
$req = mysql_query("SELECT * FROM recherche WHERE 'mots' = $motclef") or die(mysql_error());

// on compte le nombre d'entrée avec le mot clef
$num = mysql_num_rows($req);

//Si le nombre d'entrée est 1, on modifie l'entrée
if($num == 1)
{
mysql_query("UPDATE `recherche` SET `nbr`=`nbr`+1 WHERE `mots`= '$motclef'");
}
//S'il est égal à 0, on créer l'entrée
else
{
mysql_query("INSERT INTO recherche(`mots`,`date`,`nbr`) VALUES('".$_GET['mots']."','".date('U')."','1')");
}

Rapporter au modérateur  
Re:[résolu]probleme de syntaxe if dans mon code
« Répondre #5 sur: le 02-11-2007 a 15:23:56 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 104





Voir le Profil    WWW
Répondre avec citation

Tu peux aussi faire ta requête de la façon suivante :
Code:
$req = mysql_query("SELECT count(id) as total FROM recherche WHERE mots = '".$motclef."'",$db);
// $db est l'identifiant de connexion à ta database
// on suppose que id est ta clé primaire
$row = mysql_fetch_array($req);
if($row['total'] != 0){
      // requête d'update
}else{
      // requête d'insertion
}
mysql_free_result($req);

Rapporter au modérateur  

Conception de sites web : http://www.crea-fr.com
Re:[résolu]probleme de syntaxe if dans mon code
« Répondre #6 sur: le 02-11-2007 a 21:00:53 »
GoldRazor
P'tit nouveau
**

Hors-Ligne

Messages: 79





Voir le Profil
Répondre avec citation

Merci beaucoup pour vos interventions, j'espère que ca aidera d'autres galériens comme moi.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg