|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
Bonjour,
J'ai une liste de nom de ville inséré dans une table, plusieurs fois la même, du genre : 1 paris 2 paris 3 paris 4 marseille 4 marseille voici mon bout de code Code :
Merci d'avance |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
Je persiste et je signe :
D'où l'importance de passer par des Id en auto increment, ca permet ce cibler LA ligne qu'on veut modifier sans risque de collision entre les données... Allez, je suis de bonne humeur ce matin imaginons une table VILLE comme suit (pas belle d'un point de vue construction, il vaudrait mieux en faire deux différentes, mais c'est pour les besoins de l'exemple) : Citation:
et les requêtes suivantes : Code :
DELETE FROM VILLE WHERE Nom_ville='Paris'
Ca, ca va t'effacer uniquement la troisième ligne |
|
|
|
00
|
|
|
#3 | |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 41 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Je pense que tu as un mauvais schéma de table pour 2 raisons :
Avec un schema correct, tu pourrais faire ceci sans crainte d'erreur : Code :
http://sql.developpez.com/sqlaz/jointures/
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
c l'identifiant pardon la table c pluto du genre :
1 paris 2 paris 3 paris 4 marseille 5 marseille CREATE TABLE `qualification` ( `num_qualif` int(3) NOT NULL auto_increment, `n_tournoi` varchar(50) NOT NULL, `name` varchar(25) NOT NULL default '', `tour` varchar(50) NOT NULL default '', PRIMARY KEY (`num_qualif`) ) |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 41 ![]() |
Leloup, tu commences à comprendre ce que j'entendais par "revoies tes tables sinon tu fonces droit vers la cata"
Je te conseille vraiment de reposer à plat ton appli (avec une feuille et un crayon (et une gomme |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
et bien alors pourquoi ne pas utiliser num_qualif dans ta requête ???
Et effectivement, ta table serait plus propre avec une table à part contenant simplement un Id_ville et le nom de la ville, et dans cette table ci, utiliser simplement l'Id_ville en clé étrangère à la place du nom.... m'enfin, ce que j'en dit ... |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 41 ![]() |
Hmmmm
Si tes tournois ont un id, pourquoi on retrouve leur nom et pas leur id dans cette table? PS : trop lent ^^ |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
ok alors comment dire qu'on veut qu'il ne modifiue qu'une seule occurence
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 41 ![]() |
Revoies tes tables on te dit.
Si tu veux rester avec cette structure, bon courage... |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
tu te moques du monde ??? je t'ai donné un exemple !!!
Le seul conseil que je peux encore te donner, c'est d'aller te pencher sur la conception de bases de données, pis d'aller lire un ou deux tutos... J'abandonne moi, @+ |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
je suis d'accord avec l'id, mais comment dire qu'on ne que un seul soit modifié
|
|
|
00
|
|
|
#13 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
leloup84 : Sincèrement, tu exagères.
titoumimi t'a donné un exemple pour DELETE, je t'en ai donné un pour UPDATE et la doc MySQL te donne assurément tout ce dont tu as besoin. Développez.com regorge de ressources que tu peux mettre à profit, je ne peux que t'inviter à chercher par toi-même car c'est la meilleure manière d'apprendre. Cependant, il semble te manquer les concepts fondamentaux d'analyse et de conception de bases de données...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
Comme ceci alors :
Code :
$req2="update qualification set name = '$joueur' where n_tournoi='$donnee' and num_qualif = (select min(num_qualif) from qualification)"; |
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
bon, sur ce, je vais me pendre .... |
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Inscription : janvier 2006 Messages : 483 ![]() |
je ne comprend pas ce qui ne va pas dans cette requête :
Code :
$req2="update qualification set name = '$joueur' where n_tournoi='$donnee' and num_qualif = (select min(num_qualif) from qualification)"; |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com