#1 03-11-2005 18:32:56

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Aux pros du Php

Vous allez penser que je suis vraiment une daube... bon... vous avez raison lol

Mais avec vos petits codes j'apprend au fur et à mesure wink

Bon... voilà... j'expose mon problème :

J'ai créé une base géographique avec comme champs :

pays, capitale, ville1, ville2, ville3,..., ville22

Ma clé unique est le champs pays.
J'ai du créer 22 champs de villes pour que celles-ci puissent être traitées individuellement quand je fais une requête.

Pour afficher la capitale d'un pays... pas de soucis avec cela :

Code:

<?php
// on se connecte à MySQL 
$db = mysql_connect('serveur', 'base', 'password'); 

// on sélectionne la base 
mysql_select_db('airtropi',$db); 

// on crée la requête SQL 
$sql = "select * from table"; 

// on envoie la requête 

$req = mysql_query("select * from table WHERE pays='$avion'") or die ("erreur requete");

// on fait une boucle qui va faire un tour pour chaque enregistrement 
$data = mysql_fetch_assoc($req); 
    { 

   // on affiche les informations de l'enregistrement en cours

echo '<font style="font-family: arial, helvetica, sans-serif; font-size: 14px; color:#000099; font:bold;">Réservez votre <a href="http://www.airtropic.com/billet-avion.html">Billet d\'avion pour '.$data['capitale'].'</a></font>';
    }
// on ferme la connexion à mysql 
mysql_close(); 
?>

Maintenant, ce que je veux c'est afficher toutes les villes de chaque pays sans devoir écrire 22 fois le code associé aux requêtes ville1, ville2, etc... sachant que certains pays n'ont que 3 villes, d'autres 7 ou 8 et au plus 22.

Comment faites-vous cette boucle ?roll

Hors ligne

 

#2 03-11-2005 22:11:21

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Re: Aux pros du Php

on fait pas de boucle

on refait la table lol

non sans blague ce n'est pas comme ça qu'il faut s'y prendre pour construire ta base de donnée. Tu peux goupiller un truc avec les instructions Mysql mais ce n'est pas propre.

Ce qu'il faut que tu fasses :

- une table des pays avec id du pays , champ_capital
- une table des villes avec id_de_la_ville, id_du_pays, text_pays

tu vas voir qu'après ça va être bcp plus simple..

mais je te déconseille fortement de continuer dans cette voie


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

#3 03-11-2005 22:32:06

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Aux pros du Php

Il faut bien que mes villes soient dans des champs séparés si je veux pouvoir les exploitées individuellement neutral

Mes tables fonctionnent correctement... on peut voir un exemple la :
www.airtropic.com/cartes.html
www.airtropic.com/pays.html

Maintenant, je veux pouvoir afficher toutes les villes de ma troisième table (celle des villes) construites comme indiqué ci-dessus... roll

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#4 04-11-2005 12:10:29

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Aux pros du Php

Americas a �crit:

Il faut bien que mes villes soient dans des champs séparés si je veux pouvoir les exploitées individuellement neutral

Pas forcément, tu peux créer un seul champ "villes" et mettre les villes de cette façon :

||ville1||ville2||ville3||......

Et comme ça il te suffit de faire un explode("||", $rawresults);
pour les récupérer sous forme de tableau smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson