PHP: tests if{} elseif{} ne marchent pas !!!

Résolu/Fermé
tonguim - 4 mai 2006 à 18:53
 tonguim - 7 mai 2006 à 14:58
Bonjour,

dans le code suivant, j'effectue des tests sur 3 variables que je remplis dans un formulaire. Mes tests ne marchent pas et je n'ai aucune erreur php non plus. Peut etre que mes tests sont mal formulés?

<CODE><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<?php
include("exercice2_connexion.php");

$type=$_POST['zoneType'];
$titre=$_POST['zoneTitre'];
$auteur=$_POST['zoneInterprete'];

if ($type == "" && $titre == "" && $auteur != "")
{
$requete="select titreAlbum, typeMusique from musique where titreAlbum='$titre' and typeMusique='$type' group by typeMusique";
}

elseif ($type == "" && $titre != "" && $auteur == "")
{
$requete="select titreAlbum, typeMusique from musique where typeMusique='$type' order by titreAlbum asc";
}

elseif ($type == "" && $titre != "" && $auteur != "")
{
$requete="select titreAlbum, typeMusique from musique where typeMusique='$type' order by titreAlbum asc";
}

elseif ($type != "" && $titre == "" && $auteur == "")
{
$requete="select titreAlbum, typeMusique, interprete from musique where interprete='$auteur' order by interprete asc";
}

elseif ($type != "" && $titre != "" && $auteur == "")
{
$requete="select titreAlbum, typeMusique from musique where typeMusique='$type' order by titreAlbum asc";
}

elseif ($type != "" && $titre == "" && $auteur == "")
{
$requete="select titreAlbum, typeMusique from musique where typeMusique='$type' order by titreAlbum asc";
}
else
{
echo("spécifiez au moins un critère pour la recherche");
}


$resultat=mysql_query($requete);

if(mysql_num_rows($resultat))
{

echo ("Bienvenue. Connexion réussie ! $requete");
}
else
echo ("<b>Echec de la connexion</b>. <a href=\"exercice2_formulaire.php\">Cliquez ici pour revenir au formulaire</a>");
?>
</body>
</html></CODE>
A voir également:

7 réponses

tonguim Messages postés 47 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 27 février 2015 1
4 mai 2006 à 20:20
mon programme ne marche pas.

Quelque soit le test que j'effectue (sauf pour celui la

elseif ($type != "" && $titre == "" && $auteur == "")



le programme m'affiche

Echec de la connexion</b>. Cliquez ici pour revenir au formulaire 


ce qui me fait dire que mes tests ne marche pas.

Quelqu'un peut il m'aider à résoudre le problème? Merci.
0
tonguim Messages postés 47 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 27 février 2015 1
4 mai 2006 à 20:44
mon programme ne marche pas.

Quelque soit le test que j'effectue (sauf pour celui la

elseif ($type != "" && $titre == "" && $auteur == "")



le programme m'affiche

Echec de la connexion</b>. Cliquez ici pour revenir au formulaire 


ce qui me fait dire que mes tests ne marche pas.

Quelqu'un peut il m'aider à résoudre le problème? Merci.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
4 mai 2006 à 21:51
Fait un echo sur ta requête et tu sauras s'il ya un problème dans la syntaxe, ou si la requête ne donne pas ce que tu attend etc...
0
tonguim Messages postés 47 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 27 février 2015 1
4 mai 2006 à 22:15
Les requêtes fonctionnent parfaitement; je les ai testées dans phpMyAdmin avec succès. Les 3 variables aussi contiennent bien les données qu'il faut. Je me demande si le problème ne se trouve pas au niveau des tests.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ricric Messages postés 34 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 11 mai 2006 7
5 mai 2006 à 09:20
Bonjour
Comment les as-tu testées dans phpmyadmin ?

Pour tester les requêtes dans phpmyadmin, je fais un echo de la requête avant mysql_query()
et je la colle dans phpmyadmin.

Ainsi je teste bien la requête générée par le script.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
6 mai 2006 à 14:25
Oui je ne crois pas que le problème vienne des tests mais plutôt de la requête qui ne retourne pas de résultat, ou de la connexion à la base de données qui ne se fait pas.
0
Merci à tous pour votre aide. J'avais copié et collé les mêmes requêtes dans toutes les strucures elseif, si bien que la plupart ne retournaient rien comme résultat à cause des critères de recherche (qui doivent correspondre aux 3 variables).

Le programme marche très bien maintenant.
0