Page 1 sur 1

Mélanger des nombres dans table MySQL

Posté : 16 juin 2009, 04:23
par Django
Bonjour à tous,

Me revoilà pour une petite aide de votre part.

Je souhaiterai à l'aide d'un script mélanger des nombres (Rang) dans une table MySQL.

Je m'explique (je vais essayer!)

J'ai une table avec les champs :

id_ques 'int(3)'
titre_ques 'varchar(150)'
texte_ques 'text'
...
rang_ques 'int(2)

Dans le champs "rang_ques" il y a des chiffres de 1 à 20.
Ainsi (par ex.)
L'identifiant (id_ques) "1" de la table à le rang (rang_ques) "3"
L'identifiant (id_ques) "2" de la table à le rang (rang_ques) "7"
L'identifiant (id_ques) "3" de la table à le rang (rang_ques) "20"
... etc.

J'aimerai à l'aide d'un script pourvoir modifier les chiffres dans les champs rang (et seulement eux), mais en ayant toujours un compte de 1 à 20.
Sans doublon bien sur.

Auriez vous une idée, piste ?

Merci de vos réponses

Django.

Posté : 16 juin 2009, 07:25
par Nagol
comprend pas, tu aurais pas un bout de code, tu sais on parle surtout code nous autres poilus du php.

Posté : 16 juin 2009, 12:32
par Django
Merci nagol pour ta réponse.

Effectivement ce n'était pas clair. Désolé :(

Mais j'ai trouvé une solution, à l'aide de codes récupérés ci et la... et la doc PHP.

voila ce que ca donne (et fonctionne très bien) :

Code : Tout sélectionner

$sql="SELECT * FROM test WHERE 1 ORDER BY id_ques "; $res = mysql_db_query($db_base, $sql, $db) or die ('ERREUR : '.$sql.' '.mysql_error()); $nombre = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"); $rand_keys = array_rand($nombre, 20); $cpt='0'; while ($enr=mysql_fetch_array($res)) { $id_ques=$enr['id_ques']; $query = "UPDATE test SET rang='".$nombre[$rand_keys[$cpt]]."' WHERE id_ques='$id_ques'"; $result = mysql_db_query($db_base, $query, $db) OR DIE ('ERREUR : '.$query.' '.mysql_error()); $cpt++; }
Si cela peu aider quelqu'un.

Bonne journée à vous tous

Django

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 16 juin 2009, 13:55
par Nagol
oh ok, désolé de pas avoir pu t'aider, mais content que tu ai trouvé ta solution et la fasse partager, en espérant pouvoir t'aider mieux une prochaine fois.