begin process at 2012 05 31 04:03:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Petit probléme pointu


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit probléme pointu

jeudi 10 mars 2005 à 12:03:17 | Petit probléme pointu

sky_striker

Bonjour à tous,

Voila j'ai un script qui effectu une boucle et qui ajoute des traduction pour un certain texte (on simplifie pour l'explication). Lors d'une mise à jour si la traduction existe je fais un UPDATE classique mais si elle n'existe pas je la créé en faisant un INSERT jusqu'ici pas de problémes. Je voudrais faire l'économie du test d'existence en exécutant de toute façon un update ensuite j'aimerais récupéré le nombre de ligne testés par mysql si il est égal à 1 alors je ne fait pas le INSERT.

Mon probléme et qu'il n'existe pas de fonctions pour faire ça le mysql_affected_rows() renvoit 0 si la personne n'effectue pas de modifications.

Existe il un moyen de tester l'existence d'un tuple en faisant un update ou suis je obligé de passer par un SELECT d'abord ...???

Merci d'avance pour vos réponses

Tout les hommes meurent un jour mais peu d'entre eux vivent vraiment
jeudi 10 mars 2005 à 12:39:25 | Re : Petit probléme pointu

malalam

Administrateur CodeS-SourceS
hello,

je ne suis pas sur d'avoir tout compris, mais pourquoi n'utilises tu pas simplement un compteur...?
jeudi 10 mars 2005 à 14:46:51 | Re : Petit probléme pointu

sky_striker


De quel maniére utiliser un compteur pour faire cela ?
Tout les hommes meurent un jour mais peu d'entre eux vivent vraiment
jeudi 10 mars 2005 à 15:42:04 | Re : Petit probléme pointu

malalam

Administrateur CodeS-SourceS
Tu veux tester quoi ? le nombre d'update ?
jeudi 10 mars 2005 à 17:28:17 | Re : Petit probléme pointu

sky_striker


Au lieu de faire un SELECT pour savoir si il existe puis en fonction du résultat un INSERT ou un UPDATE. Je voudrais :

- De toute façon faire un update
- Si le nbre de champs MAJ est égal à 1 alors je ne fait pas d'INSERT

ce la permet une économie du select d'autant que c requétes sont éxécutés dans une boucle

Probléme : La fonction mysql_affected_rows() ne réponds pas à mon attente car elle renvoit que le nombre de champs effectivement MAJ c'est à dire qu'elle renvoit nb=0 dans le cas d'une mise à jour  avec les même donnée (Ce qui peut arriver dans mon cas et fausserait le test car je ne teste pas les contenus avant de les insérer, de toute façon mysql ne fait la mise à jour que si les contenu sont différents et c bien pour ça que dans ce cas là ça renvoi 0)

Début de solution : mysql_info() revoit une string ou le premier chiffre est le nombre de champs trouvés lors d'un essais de MAJ. C'est exactement ce que j'ai besoin mais comment extraire à coup sur ce nombe de la string renvoyé ???

Ex : Enregistrements correspondants: 1 Modifiés: 0 Warnings: 0

c'est un copié collé de ce que me renvoit la foncion dans le cas d'une mise à jour avec les mêmes donnés le probléme c que le format de la string varie d'une langue à l'autre ... Donc pour extraire les chiffres qui m'intéresse cela risque d'être une bidouille que je voudrais éviter

voila merci de ton aide



 les hommes meurent un jour mais peu d'entre eux vivent vraiment
vendredi 11 mars 2005 à 10:19:39 | Re : Petit probléme pointu

malalam

Administrateur CodeS-SourceS
Ah ben voila...lol. Tu vas donc pouvoir extraire ce nombre de mysql_info() grace au code que je t'ai donne dans ton autre post.


Cette discussion est classée dans : existe, probléme, update, traduction, pointu


Répondre à ce message

Sujets en rapport avec ce message

Si update rien insert [ par Florynth ] Bonjour, très simple,je veux faire un update dans une base de donnée MySQL et si l'enregistrement n'existe pas je veux l'inséré... Je suis capable de recuperer une portion d'une chaine [ par salim81 ] bonjour ! j'ai un script php qui execute la commande systeme : ls  /tmp.mon probleme c'est que je sais pas comment faire pour tester si un fichier exi UPDATE et checkbox [ par fabrice88 ] Bonjour, j'ai fait un formulaire de mise à jour de ma base de données.Pour modifier une données "texte" j'ai mis cette ligne de commande <input name=" Probleme avec Update [ par shadow1779 ] bonjour,j'essai de faire une requete update sur une table, la table existe et le pseudo aussi mais j'ai une erreur, et je ne vois pas le probleme de s Traduction de chaines de caractères [ par bito yep ] Bonjour, Pour mon site, je voudrais savoir si il etait possible dans une chaine de caractères de remplacer ^001234 (ou n'importe quels chiffres en héx requete mysql [ par nnyke ] ok, bonsoir alors voilà j'ai un problème difficile à croire mais il est d'une gêne incroyable donc je m'explique j'ai une ligne qui update un enregist update une table mysql via php [ par kaddouremna28 ] salut à tous, j'ai un problème de mise a jour d'une table mysql via php et voici le code :UPDATE table SET num='$num', nom='$nom' WHERE code='$code'j' Alors ce bug ?!?!? Rien capté ... [ par Tartuffe ] Hello tous.. Je viens de tomber sur un truc Extra, et je ne trouve pas d'explication ! 1/ j'ai une table pays dont l'ID unique est R_O_ID 2/ j'ai une requete UPDATE mysql qui ne fonctionne pas [ par BigBadboy ] Quesqu'y va pas dans ma requète j'ai pas d'érreur mais il ne met pas a jour les informations mysql_query("UPDATE membres SET mot_passe=" . $mot_passe probléme addslashes [ par sensoide ] Bonjour a tous,voici mon probléme, bien qu'utilisant les magique quote par defaut l'orsque j'ecris quelque chose avec une oppostrophe ou des guillemet


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales