BDD d'un index de rues

legniarf
Invité n'ayant pas de compte PHPfrance

16 avr. 2006, 23:07

Bonjour, je débute en PHP et MySQL.

Je dois mettre au point un formulaire où les gens tape le numéro et le nom de leur rue et trouvent l'hôpital dont ils dépendent.

J'ai un fichier dans lequel il y a des informations de ce genre (les ">" sont des tabulations) :

Courat r. > Hôpital t

Courcelles bd de
Impairs > Hôpital u
Pairs > Hôpital v

Courcelles r. de
1-77, 2-94 > Hôpital w
171-193, 188-210 > Hôpital x
79-169, 195-205, 96-196 > Hôpital y

Cour d'Honneur gal. de la > Hôpital z

Je voudrais savoir comment je dois structurer ma table MySQL. Notamment, je ne sais pas comment on rentre les valeurs "Impairs" ou "Pairs" dans une colonne (et qu'ensuite PHP trouve que tel numéro de rue est pair et que tel autre numéro est impair), ni comment on rentre des valeurs "comprises entre 1 et 77 et entre 2 et 94" (et qu'ensuite PHP trouve que tel numéro de rue est compris entre 1 et 77).

Voila. Comme je vous l'ai écrit plus haut, je débute en PHP et MySQL, donc merci de me donner une piste pour commencer.

Eléphant du PHP | 136 Messages

19 avr. 2006, 10:56

dans ta table tu crées un champ numero_de_rue
et c'est dans ton code ensuite faisant appel à ce champ que tu détermines s'il est pair ou non plus grand que x ou non etc..
exemple
après ta requête sur la base
$numero =$row['numero_de_rue'];
if(is_integer($numero/2)) {
print "ce numéro est pair"; // si la division par 2 est un entier 
}else{
print "ce numéro est impair";
}
ou bien comparaison avec un nombre déterminé
if($numero<x) { etc..

legniarf
Invité n'ayant pas de compte PHPfrance

19 avr. 2006, 21:53

Merci beaucoup pour cette réponse.

Je me pose maintenant la question suivante : sous quelle forme je rentre mes "79-169, 195-205, 96-196" dans ma colonne numero_de_rue ?

Autrement dit, comment dois-je spécifier dans ma table qu'il s'agit de valeurs comprises entre 79 et 169, entre 195 et 205 et entre 96 et 196 ?

Eléphant du PHP | 136 Messages

20 avr. 2006, 08:29

En fait c'est le N° saisi dans le formulaire dont tu dois t'assurer qu'il est pair ou impair
$numero= $_REQUEST['numero']; // numero étant le <input textfield  name=numero> de ton formulaire
//ensuite tu détermines s'il est pair ou non
if(is_integer($numero/2)) { 
print "ce numéro est pair"; // si la division par 2 est un entier 
}else{ 
print "ce numéro est impair"; 
} 
dans ta base tu crées 2 champs de numero numero_max et numero_min
ou 4 s'il y a plusieurs options.
ensuite tu compares $numero à ces champs et en fonction de > ou < ou == tu affectes le résultat idoine

legniarf
Invité n'ayant pas de compte PHPfrance

20 avr. 2006, 17:33

Merci. Avec tes indications je devrais m'en sortir. Si j'ai d'autres questions, je reviendrai vers ce forum.