[SQL] Probleme de requete ou de base.

bdp-gaby Messages postés 12 Statut Membre -  
_goni Messages postés 964 Statut Membre -
Bonjour je viens su ce forum très souvent pour trouver des réponses à mes problemes mais là j'ai un problème qui n'a pas vraiment de nom alors très dur de trouver une réponse.

Voilà j'ai une requete très simple qui fonctionne mais ne m'affiche qu'une fois sur deux un résultat.
Après quelques essais j'ai compris qu'elle n'affichait que les informations des numéros supérieur à 999 mais je vois pas pourquoi.

Voici ma requete:
SELECT* FROM personnel WHERE Npersonnel=(SELECT Npersonnel FROM poste WHERE Nposte='$poste')
Ma base est en mysql sous easyphp et en interclassement unicode. Le champs Npersonnel et une varchar de 4 lettres, est-ce l'interclassement ou le foutu (4) de la varchar? Merci de votre aide.
A voir également:

2 réponses

_goni Messages postés 964 Statut Membre 38
 
Salut,

As tu regardé les différentes valeurs que tu mets dans ton "$poste" car ta requête me parait correcte. Sinon, explique un peu plus le contexte stp. Les valeurs que peuvent prendre tes champs, ce que tu cherche à afficher...

En espérant t'avoir aidé !
0
bdp-gaby Messages postés 12 Statut Membre
 
Oui j'ai essayé avec plusieurs valeurs à la place de $poste la requete dans phpmyadmin et elle fonctionne sauf pour les Npersonnel inférieur à 999. Le contexte est un test sur les valeurs d'un formulaire donc je test si le poste existe ensuite je voulais tester si une personne était déjà affectée à ce poste et ensuite afficher un texte pour modifier le Npersonnel de ce poste ou on revient au formulaire.
En espérant avoir été plus précis.
0
_goni Messages postés 964 Statut Membre 38
 
Ce que je peux te conseiller, c'est de diviser ta requête en deux.
Tu stocks ton "SELECT Npersonnel FROM poste WHERE Nposte='$poste' "
Et après tu fais ton "SELECT* FROM personnel WHERE Npersonnel= Résultat "
Après, j'y crois pas trop mais bon, il faut tout tester.
0