MySQL ou Array

Résolu/Fermé
matthieu - 17 janv. 2013 à 10:22
 matthieu - 17 janv. 2013 à 12:26
Bonjour,

Je suis sur la refonte d'un site,
actuellement la liste des départements est regroupé dans 2 array ( un pour les numéro, un pour les nom) + 95 array regroupant les départements limitrophes de chaque département.

Je me pose la question de savoir si il ne serait pas plus judicieux de passer par une table en base de donnée (MySQL) avec les départements, leur noms, leur numéros et les limitrophes de chacun.
Vos avis, conseils ?



merci

5 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
17 janv. 2013 à 10:40
L'utilisation d'une base de données est toujours intéressante, dès que tu voudras faire une évolution, tu pourras utiliser cette base.

Mais pour faire quelque chose d'efficace il te faudra un certain nombre de compétences que tu n'as peut être pas encore à l'heure actuelle. Ce n'est pas insurmontable, mais ça nécessite un peu de travail malgré tout.

Je ne comprends pas bien pourquoi tu as 2 tableaux pour tes départements par contre, tu pourrais en utiliser un seul je pense, en faisant quelque chose comme ça :

$dpt[35] = "Ile et vilaine";
$dpt[53] = "Mayenne";


m'enfin après, il y a toujours de nombreuses possibilités. L'avantage avec la base de données c'est que tes données seront liées.
Je pense que tu pourrais travailler avec 2 bases de données, une pour recenser tes départements, avec un 'id' pour le numero et un 'nom' pour le nom par exemple, et une table 'limitrophe' avec une entrée qui fait le lien entre un département et un département limitrophe et autant de lignes que nécessaire...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
17 janv. 2013 à 10:59
ThEBishop, quand tu dis deux bases de données je pense que tu parles de deux tables
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
17 janv. 2013 à 11:39
Non...
0
Moi non plus je ne comprend pas vraiment l'intérêt des 2 tableaux. ( c'est sur la version actuelle, que je n'ai pas faite).
En fait le tableau contenant les numéros de départements sert seulement à ce que :
le 1 devienne "01",
2 => "02",
3 => "03"...

en fait ma problématique était plus sur la rapidité d'exécution.
Car une partie de moi penche sur le fait de mettre en base de donnée afin que le code soit plus propre sans valeur fixe. mais d'un autre coté mettre en base de donnée c'est augmenter le nombre de requêtes en bases.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
17 janv. 2013 à 11:42
si tu rentres tes départements ainsi:

$departements=array("01"=>"ain","02"=>"aisne"...,"2A=>"corse... etc..);

et tu le parcours ensuite par une boucle foreach

foreach($departements as $num=>$nom){
   $num contient le numéro et $nom le libellé
}


c'est vrai que comme les départements ne bougent pas tous les jours un array c'est pas mal mais ça ne pose pas de pb non plus pour les accès BDD c'est fait pour
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
Modifié par ThEBiShOp le 17/01/2013 à 11:44
Et bien à moins que tu héberges ta base de données au Boukistan, tu n'as pas trop à t'en faire pour le temps de réponse, c'est quasiment de l'instantané. Il y a certes un dialogue entre de base de données et le serveur web, que tu n'as pas avec seulement des arrays.

Maintenant la question est surtout de savoir ce que tu comptes faire dans le futur, le fait de mettre en place une base de données va te donner plus de souplesse, tu pourras éventuellement mettre à jour tes tables via des formulaires (bin quoi ? les départements, ça change tous les jours, non ?).

Enfin voilà... pour ma part j'utiliserais sans hésiter une base de données, mais c'est par habitude.

edit:

petite précision, au lieu d'utiliser un tableau d'index, tu peux utiliser un tableau associatif, du coup pas besoin de faire ta "conversion" pour ajouter le 0 :

$tab['01'] = 'machin chose';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour vos réponses.

En fait il y a déjà un bon nombre de requêtes en base, donc c'était pour pas ajouter une qui n'est pas forcément utile.

Je pense que je vais optimiser le tableau dans un premier temps, et voir plus tard pour mettre en base.
0