Test du type d'une variable
Résolu
zeOoo
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
zeOoo Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
zeOoo Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite effectuer une recherche de commande pour en afficher les informations pour cela je fais une liste déroulante que me donne le choix entre une recherche par numéro ou par fournisseur. selon le cas choisis j'affiche dans une liste déroulante, sur la page appelé dans mon action, soit tout les numéro de commande soit le nom de tout les fournisseur chez qui une commande a été passé. du coup sur la page ou je dois afficher les infos je test si la valeur sélectionné dans la liste déroulante est un entier ou une chaine mais ca marche pas
voila mon code:
if (is_string($_POST['CdeRech']))// == 'frs')
{
$req="select distinct numcde, nomF from commande c, fournisseurs f where c.numF=f.numF ;";
$res= mysql_query($req) or die ('Erreur num : '.mysql_error() );
$data=mysql_fetch_row($res);
$req1="select numCde, dateCde, etatCde from commande c, fournisseurs f where c.numF = f.numF AND nomF='$data[1]';";
$query=mysql_query($req1) or die ('Erreur SelectInfo : '.mysql_error() );
while($request=mysql_fetch_array($query))
{
echo"<tr>
<td width='119' class='Style5'><div align='right'>Numéro Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='numCde' size='10' value='$request[0]'/>
</div>
</td>
<td width='119' class='Style5'><div align='left'>Date Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='dateCde' value='$request[1]'/>
</div>
</td>
<td width='127' class='Style5'><div align='left'>Etat Commande :</div></td>
<td width='506' colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='etatCde' value='$request[2]'/>
</div>
</td>
</tr>";
}
}
else
{
$req1="select numCde, dateCde, etatCde from commande where numCde='".$_POST['CdeRech']."';";
$query=mysql_query($req1) or die ('Erreur SelectInfo : '.mysql_error() );
$request=mysql_fetch_array($query);
echo"<tr>
<td width='119' class='Style5'><div align='left'>Numérorrr Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='numCde' size='10' value='$request[0]'/>
</div>
</td>
<td width='119' class='Style5'><div align='left'>Date Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='dateCde' value='$request[1]'/>
</div>
</td>
<td width='127' class='Style5'><div align='left'>Etat Commande :</div></td>
<td width='506' colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='etatCde' value='$request[2]'/>
</div>
</td>
</tr>";
}
je souhaite effectuer une recherche de commande pour en afficher les informations pour cela je fais une liste déroulante que me donne le choix entre une recherche par numéro ou par fournisseur. selon le cas choisis j'affiche dans une liste déroulante, sur la page appelé dans mon action, soit tout les numéro de commande soit le nom de tout les fournisseur chez qui une commande a été passé. du coup sur la page ou je dois afficher les infos je test si la valeur sélectionné dans la liste déroulante est un entier ou une chaine mais ca marche pas
voila mon code:
if (is_string($_POST['CdeRech']))// == 'frs')
{
$req="select distinct numcde, nomF from commande c, fournisseurs f where c.numF=f.numF ;";
$res= mysql_query($req) or die ('Erreur num : '.mysql_error() );
$data=mysql_fetch_row($res);
$req1="select numCde, dateCde, etatCde from commande c, fournisseurs f where c.numF = f.numF AND nomF='$data[1]';";
$query=mysql_query($req1) or die ('Erreur SelectInfo : '.mysql_error() );
while($request=mysql_fetch_array($query))
{
echo"<tr>
<td width='119' class='Style5'><div align='right'>Numéro Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='numCde' size='10' value='$request[0]'/>
</div>
</td>
<td width='119' class='Style5'><div align='left'>Date Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='dateCde' value='$request[1]'/>
</div>
</td>
<td width='127' class='Style5'><div align='left'>Etat Commande :</div></td>
<td width='506' colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='etatCde' value='$request[2]'/>
</div>
</td>
</tr>";
}
}
else
{
$req1="select numCde, dateCde, etatCde from commande where numCde='".$_POST['CdeRech']."';";
$query=mysql_query($req1) or die ('Erreur SelectInfo : '.mysql_error() );
$request=mysql_fetch_array($query);
echo"<tr>
<td width='119' class='Style5'><div align='left'>Numérorrr Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='numCde' size='10' value='$request[0]'/>
</div>
</td>
<td width='119' class='Style5'><div align='left'>Date Commande :</div></td>
<td colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='dateCde' value='$request[1]'/>
</div>
</td>
<td width='127' class='Style5'><div align='left'>Etat Commande :</div></td>
<td width='506' colspan='2' class='Style5'>
<div align='left'>
<input type='text' name='etatCde' value='$request[2]'/>
</div>
</td>
</tr>";
}
A voir également:
- Test du type d'une variable
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Test composant pc - Guide
- Test batterie pc - Guide
2 réponses
Ami Terrien, essaye peut-être de remplacer
is_string($_POST['CdeRech'])
par
!is_numeric($_POST['CdeRech'])
is_string($_POST['CdeRech'])
par
!is_numeric($_POST['CdeRech'])
je fais une liste déroulante que me donne le choix entre une recherche par numéro ou par fournisseur. selon le cas choisis j'affiche dans une liste déroulante, sur la page appelé dans mon action, soit tout les numéro de commande soit le nom de tout les fournisseur
Beaucoup plus simple et sur, si tu mets en champ caché lors de l'affichage de la page deuxième liste si c'est un num ou un fournisseur, car selon le navigateur ce n'est pas sur qu'un nombre ne soit pas renvoyé sous forme de string
en fct choix liste première page tu mets:
<imput type="hidden" name="recherche_par" value="num">
ou
<imput type="hidden" name="recherche_par" value="fourrnisseur">
et ensuite tu récupéreras $_POST['recherche_par']
Beaucoup plus simple et sur, si tu mets en champ caché lors de l'affichage de la page deuxième liste si c'est un num ou un fournisseur, car selon le navigateur ce n'est pas sur qu'un nombre ne soit pas renvoyé sous forme de string
en fct choix liste première page tu mets:
<imput type="hidden" name="recherche_par" value="num">
ou
<imput type="hidden" name="recherche_par" value="fourrnisseur">
et ensuite tu récupéreras $_POST['recherche_par']