[résolu]probleme de syntaxe if dans mon code

Thématique [résolu]probleme de syntaxe if dans mon code, venez dialoguer avec de nombreux webmaster ! !

Forum webmaster


La Communauté Webmaster  forum rss
  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, Fabien, 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 283 fois)
[résolu]probleme de syntaxe if dans mon code
« sur: le 02-11-2007 à 01:54:40 »
GoldRazor
Membre récent
*

Hors-Ligne

Messages: 60





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 à 14:27:43 par GoldRazor » Rapporter au modérateur   Connecté
Re:probleme de syntaxe if dans mon code
« Répondre #1 sur: le 02-11-2007 à 10:52:41 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 89





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   Connecté

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 à 11:32:28 »
MarvinLeRouge
Habitué
***

Hors-Ligne

Messages: 375



Watch the rabbit !

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   Connecté

Lorsqu'un lapin rouge nait, on le nomme Marvin en mémoire de Marvin 1er qui détruisit la ville de Zautamauxime. Puis on le bannit car les lapins rouges, ça porte malheur ...
Re:probleme de syntaxe if dans mon code
« Répondre #3 sur: le 02-11-2007 à 12:14:14 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 89





Voir le Profil    WWW
Répondre avec citation

Citation de: MarvinLeRouge le le 02-11-2007 à 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   Connecté

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 à 14:27:19 »
GoldRazor
Membre récent
*

Hors-Ligne

Messages: 60





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   Connecté
Re:[résolu]probleme de syntaxe if dans mon code
« Répondre #5 sur: le 02-11-2007 à 15:23:56 »
lefou
P'tit nouveau
**

Hors-Ligne

Messages: 89





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   Connecté

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 à 21:00:53 »
GoldRazor
Membre récent
*

Hors-Ligne

Messages: 60





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   Connecté
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.
 
 
Le Sénat réclame une taxe sur les revenus
Yahoo en veut toujours plus
Un spammeur condamnée à 30 mois de prison
Google plaide pour un Yahoo indépendant
Jeux gratuits chez Yahoo avec de la publicité
Interviews Webmasters
Mise à jour du blog de Forum-webmaster !
Une rubrique E-commerce
 
 
 
 

Choisissez votre forum :
Discussions générales
Avis ?
A propos de Forum-webmaster
Présentation de services web
Actualité webmaster
Interviews Webmasters
HTML / CSS / XHTML
Javascript / DOM / Ajax
PHP / MySQL
Asp / Asp.net / IIS
Langages de programmation divers
Webdesign
Infographie
Flash / Director
Hébergement
Référencement
E-commerce
Le droit sur internet
Publicité - Affiliation
Formation[s]
Offres d'emploi
Demandes d'emploi
Recrutement bénévole
L'aparté ...
Matériel / Logiciel
Présentation

 

Copyright Skalpel 2008 - Tous droits réservés

creation de site strasbourg