Recuperer le NOM d'une clé UNIQUE
Hors lignePalleas Le 01/06/2006 à 18:02 Profil de Palleas Configuration de Palleas

vouala pour la structure :

id - int(11) - auto_increment
pseudo - varchar(30)
prenom - varchar(30)
email - varchar(100)
pass - varchar(32)
description      mediumtext
avatar - varchar(40)
annee - varchar(4)
image - varchar(40)
nom_p - varchar(30)
prenom_p - varchar(30)
sexe - varchar(10)
grade - int(11)
maison - varchar(20)

et pour les clés :
nom           Type          cardinalité champ

PRIMARY          PRIMARY          3          id
personnage       UNIQUE           3          nom_p
prenom_p
pseudo           INDEX       aucune       pseudo

=)
--
draco dormien nunquam titillandus
Hors ligneMarculinos Le 01/06/2006 à 23:03 Profil de Marculinos Configuration de Marculinos

Viconaute Modérateur
Sweetdevil a écrit :
Comment je t'aurais édité ça en rouge fluo moi (marculinos, tu dors?)...

J'ai la sensation que mes erreurs du passé te sont légèrement resté en travers de la gorge.
J'ai depuis appris à user de ce statut avec ... modération. Encore désolé!

Anthony a écrit :
Les modés ne peuvent éditer mes messages

Ca, je le savais, mais heureusement, car imagine les bêtises que l'on pourrait te faire dire sans cette restriction...




@+
Hors ligneAnthony Le 02/06/2006 à 20:20 Profil de Anthony Configuration de Anthony

Admin
Bon le nom de ta deuxième clé unique c'est celle qui indexe les champs "nom_p" et "prenom_p"
--

Hors lignePalleas Le 03/06/2006 à 11:41 Profil de Palleas Configuration de Palleas

ah ouais ok :p

Bon promis apres ca j'arrete de vous embeter :$
Il me retourne bien l'erreur 1062 comme je le veux mais le soucis c'est que je dois incrementer une variable $i pour savoir si c'est bien la clé N°1, 2 ou 3 avec

SHOW INDEX FROM membres_ws

Il y a moyen de faire quelque chose comme
SHOW INDEX FROM membres_ws WHERE key=2 ?
ou je dois me contenter de mon incrementation et tout ? :s

Encore Merci beaucoup =)
--
draco dormien nunquam titillandus
Hors ligneAnthony Le 03/06/2006 à 13:45 Profil de Anthony Configuration de Anthony

Admin
Nan la requête c'est pas possible, par contre qu'est-ce que tu essaies de faire avec la variable $i ? j'ai pas bien compris le problème là.
--

Hors lignePalleas Le 03/06/2006 à 16:22 Profil de Palleas Configuration de Palleas

Ben moi je veux prevenir le visiteur qui s'inscrit sur mon site que le pseudo est deja pris donc je teste quelle est la clé qui bloque
si j'ai un message "duplicate entry blabla for key n", je fais mon SHOW INDEX FROM membres_ws, il me retourne toutes les clés donc je boucle avec un while() et j'incremente une variable $i :

si $i=n alors j'ai le nom de la clé
--
draco dormien nunquam titillandus
Hors ligneSweetdevil Le 03/06/2006 à 16:57 Profil de Sweetdevil Configuration de Sweetdevil

Viconaute ninja
Salut,

marculinos a écrit :
J'ai la sensation que mes erreurs du passé te sont légèrement resté en travers de la gorge.


Nonon, rassures-toi. Je ne suis pas rancunière et je trouves que tu fais un bon modérateur.
C'était juste une plaisanterie. Parce que si j'avais eu ce droit, je l'aurais tagué en rouge majuscules et clignotant si ça avait été possible

Bon, ok, on arrête de vous pourrir votre post avec des aneries...

--
Linux, il y a moins bien mais c'est plus cher.
Hors ligneAnthony Le 03/06/2006 à 18:18 Profil de Anthony Configuration de Anthony

Admin
Oui bah vu que tu connais la structure de ta table, autant faire un tableau :

<?php
$tableau
=array('tacle1','lenomdetacle2');

//ensuite tu récupères le numéro dans le duplicate entry et tu fais un

echo $tableau[$cle_duplicate_entry];

?>


t'auras ce que t'as mis dans le tableau qui va s'afficher. L'inconvénient c'est que quand tu changes de structure de table faut modifier ton code PHP, d'où l'avantage si on veut de la requête, mais ça te fait perdre en performances.
--

Hors lignePalleas Le 03/06/2006 à 21:04 Profil de Palleas Configuration de Palleas

Les doublets n'interviennent que pour le pseudo et le nom/prenom du personnage donc je ne pense pas que cela change :)

A ton avis c'est du gaspillage de ressource de faire une regex pour recuperer l'id de la clé ? Juste histoire d'obtenir

array(1=>'telle clé',2=>'telle autre clé');

etc... plutot que :

array('duplicate entry for..........' => 'telle clé');

apres les deux marchent et je suis pas sur que la difference soit enorme au niveau ressource ^o)
--
draco dormien nunquam titillandus
Hors ligneAnthony Le 03/06/2006 à 22:09 Profil de Anthony Configuration de Anthony

Admin
C'est pas ça que j'entendais comme gâchis, ce que je veux dire est que là tu fais une requête en plus (SHOW INDEX FROM membres_ws) alors que moi non ;) c'est ça qu'est gourmand.
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels