MYSQL

valeria -  
sebshiva Messages postés 198 Statut Membre -
salut,

j'ai une base des données contient 7 champs le 1er
"Niveau" contient 3 choix tel que:
Non administrable
Administrable niveau 2
Administrable niveau 3

comment je peut enregistrer ces choix dans la base?

le problème de mon travail est que si je choisi un choix
et remplir les autre champs ce message s'affixhe"Votre choix est introuvable": ce message je l'ecrit à condition que si les champs sont remplis par des valeurs n'existent pas dans la base.
merci.

2 réponses

Yaninho Messages postés 530 Statut Membre 63
 
Bonjour,

Pourquoi tu n'utilises pas un select pour faire une liste déroulante, comme ça tu es sur de ne pas mettre autre chose que ce qui est dans la liste ?
0
valeria
 
salut
bien sur j'utilise le select:

<select name="a">
<option value="Administration">Non Administrable </option>

<option value="2">Administrable Niveau 2</option>
<option value="3">Administrable Niveau 3</option>

</select>

Le probleme c'est que meme j'ecrit des données existe dans la base au niveau des champs à remplir,
le message s'affiche tjrs "Votre choix est intruvable"
qui doit s'affiche sauf si les données nexistent pas dans la base .
0
sebshiva Messages postés 198 Statut Membre 10
 
Salut,

Pas compris...
0
Yaninho Messages postés 530 Statut Membre 63
 
pas compris qui ? la question ou ma réponse ? lol
0
sebshiva Messages postés 198 Statut Membre 10 > Yaninho Messages postés 530 Statut Membre
 
@Yaninho ->la question! lol

@Valeria ->"le message s'affiche tjrs "Votre choix est intruvable"
qui doit s'affiche sauf si les données nexistent pas dans la base ."
Pourrait-on avoir le code?
0
valeria > sebshiva Messages postés 198 Statut Membre
 
le code:
<?PHP

if (($niv == 'Administrable Niveau 2') && ($RJ45 == 24) && ($baseSX == 4)) {

include "connect3100-24P.php" ; }

else
if (($niv == 'Non Administrable') && ($RJ45 == 4)&&($baseLX == 24) && ($baseSX == 2)) {
include "connect1228P.php";}

else
if (($niv == 'Administrable Niveau 2') && ($baseSX == 2) && ($RJ45 == 8)) {
include "connect3200-10.php";}

else
if (($niv == 'Non Administrable') && ($RJ45 == 5)) {
include "connect5.php";}

else
if (($niv == 'Administrable Niveau 3') && ($baseSX == 24) && ($RJ45 == 4) && ($Giga == 2)) {
include "connect3627G.php";}

else
if (($niv == 'Non Administrable') && ($RJ45 == 8)) {
include "connect1008D.php";}

else
if (($niv == 'Administrable Niveau 2') && ($RJ45 == 48) && ($baseSX == 4)) {
include "connect3100-48.php";}

else
if (($niv == 'Non Administrable') && ($RJ45 == 16)) {
include "connect1316.php";}
else

if (($niv == 'Administrable Niveau 2') && ($RJ45 <= 8) && ($baseSX == 2)) {

include "3200-10.html" ; }

else
if (($niv == 'Administrable Niveau 2') && ($RJ45 >= 8) && ($baseSX >= 2) && ($RJ45 <= 24) && ($baseSX <= 4)) {
include "3100-24P.html" ; }

else
if (($niv == 'Administrable Niveau 2') && ($RJ45 >= 24) && ($baseSX >= 4)) {
include "3100-48.html" ; }

else
if (($niv == 'Administrable Niveau 3') && ($baseSX >= 24) && ($RJ45 >= 4) && ($Giga >= 2)&&($baseSX <= 24) && ($RJ45 <= 4) && ($Giga <= 2)) {
include "3627G.html";}
else
if (($niv == 'Non Administrable') && ($RJ45 <= 8)&& ($RJ45 >= 5)) {
include "1008D.html";}


else
if (($niv == 'Non Administrable') && ($RJ45 <= 5)) {
include "1005D.html";}

else
if (($niv == 'Non Administrable') && ($RJ45 <= 16)&& ($RJ45 >= 8)) {
include "1316D.html";}



else echo "Votre choix est introuvable";


?>

marci.
0
valeria > valeria
 
le code que j'envoi c'est le code php qui fait l'acces à la base
est ce qu'il y a des problèmes ?
merci .
0
sebshiva Messages postés 198 Statut Membre 10 > valeria
 
Bon, bein là, honnêtement... je vois pas trop...
Mais trois choses tout de même qui peuvent t'aider à trouver:

1- "Non Administrable","Administrable Niveau 2"...
Normalise tout ça en début de fichier genre if($niv==='Administrable Niveau 2') $nivNorm=2;
2- (comme tu viens de le remarquer) si tu es sure de ce que contient tes variables (int, string...)
utilise les opérateurs de comparaison stricte (=== ou !==) Il faut être sûr néanmoins de comparer des
légumes avec des légumes, mais visiblement, là c'est le cas. Cela renforce aussi la sécurité en ne
laissant pas PHP interprété de la même manière "0" (qui est un caractère) et 0 (qui est un int).
3- Lorsque tu n'as qu'une instruction derrière un if les { } ne sont pas obligatoires.
T'en passer te permet d'alléger ton code.

Désolé de ne pas trouver la solution mais si ces quelques modifs ne t'aident pas à débugger, c'est que le problème ne viens pas de ce bout de code, mais d'en amont... (à mon avis, je peux aussi être passé à côté de quelque chose...)
0