Indexer des champs

JBLCN
Invité n'ayant pas de compte PHPfrance

06 janv. 2008, 00:13

Bonjour,

Peut être pourrez-vous m'aider.

J'ai une table Mysql de 4000 enregistrements lue par du PHP. Des véhicules avec marques etc...et immatriculations. Je souhaite ajouter un champ que je vais appeler "index" par exemple. Je souhaite que deux véhicules portant la même immatriculation porte aussi le même index. Cet index sera un entier à 5 ou 6 chiffres, probablement en NumaAuto.

Auriez-vous quelques pistes à me conseiller ? je ne sais pas encore qi je dois écrire une requête de mise à jour ou effectuer ce processus par du code PHP.

Grand merci

Mammouth du PHP | 1339 Messages

06 janv. 2008, 00:47

Tu fais un SELECT DiSTiNCT plaque_mineralogique pour avoir tout tes plaques uniques ...

Apres tu fais genre
for($i=0;$i<count($resultat_nombre_de_plaque);$i++) {
$i2 = $i + 1;
mysql_query('UPDATE ta_table SET index = '.$i2.' WHERE plaque_mineralogique = '.$ton_tableau_avec_les_plaques[$i]);
}
Faut l'adapter a tes infos :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 janv. 2008, 15:27

Je souhaite ajouter un champ que je vais appeler "index" par exemple.
Ben c'est pas un bon exemple du tout, "index" est un mot clé réservé du langage SQL. Mysql dans sa grande mansuétude t'autorisera sans doute à l'utiliser, mais c'est pas bien ! Pouah ! Pas glop ! ;)

Quant à ta question, je vois pas bien l'intérêt de la chose, et je ne comprend pas si tu souhaites mettre à jour toute ta base ou bien effectuer cette opération ponctuellement. Un simple select sur un numéro d'immatriculation donné te permettrait de savoir s'il existe déjà et de récupérer la valeur associée pour la réutiliser...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 175 Messages

07 janv. 2008, 11:41

je pense que l'interet est dans le cas des jointures...
faire une jointure sur une chaine (immatriculation) ou sur un id (INT) y a pas photo meme si les champs sont bien indexés...
me trompe je :?: