Probleme dans la requete
ladj59
Messages postés
322
Statut
Membre
-
Alex -
Alex -
Bonjour,
je ne comprends pas pourquoi mais aparament ma requete ne marche pas .voici mon code :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$sql ="SELECT * FROM base_physique WHERE ";
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .=" auteur LIKE '%".$_POST["auteur"]."%'";
$reponse = mysql_query($sql);
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
}
je ne compreds pas pourquoi mais il ne m'affiche aucun resultat
help me please
je ne comprends pas pourquoi mais aparament ma requete ne marche pas .voici mon code :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$sql ="SELECT * FROM base_physique WHERE ";
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .=" auteur LIKE '%".$_POST["auteur"]."%'";
$reponse = mysql_query($sql);
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
}
je ne compreds pas pourquoi mais il ne m'affiche aucun resultat
help me please
Configuration: Windows XP Internet Explorer 7.0
10 réponses
-
SELECT * FROM base_physique WHERE
deja ta une clause "where" qui est vide.
Met plutot: SELECT * FROM base_physique -
Ta base se nomme physique, pourquoi utilise tu :
$sql ="SELECT * FROM base_physique WHERE ";
Ne devrais tu pas utiliser :
$sql ="SELECT * FROM physique WHERE ";
-
nan ma base se nomme base_physique
en fait ce que je voulais faire c'est dire $sql="SELECT * FROM base_physique WHERE ";
et dans le cas ou $donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']=='')
alors je concatene a sql auteur LIKE '%".$_POST["auteur"]."%'";
et ensuite je fais ma requete $reponse = mysql_query($sql);
while ($donnees = mysql_fetch_array($reponse))
{
....
je veux faire ca car dans un autre cas je pars encore de $sql="SELECT * FROM base_physique WHERE ";
mais je concaténerais un autre truc si je veux par exemple faire une recherche par titre.... -
nan ma base se nomme base_physique
en fait ce que je voulais faire c'est dire $sql="SELECT * FROM base_physique WHERE ";
et dans le cas ou $donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']=='')
alors je concatene a sql auteur LIKE '%".$_POST["auteur"]."%'";
et ensuite je fais ma requete $reponse = mysql_query($sql);
while ($donnees = mysql_fetch_array($reponse))
{
....
je veux faire ca car dans un autre cas je pars encore de $sql="SELECT * FROM base_physique WHERE ";
mais je concaténerais un autre truc si je veux par exemple faire une recherche par titre.... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Hé bien alors tu ne dois pas mettre :
mysql_select_db("physique");
Mais :
mysql_select_db("base_physique"); -
ben si physique c'est la bae et bse_physique c'est la table...
-
Ok, excuse moi.
Tente de vérifier la valeur de $sql avant la query avec un Echo, et renvoie nous le résultat s'il te plait. -
<?php
}
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .=" auteur LIKE '%".$_POST["auteur"]."%'";
echo $sql;
$reponse = mysql_query($sql);
while ($donnees = mysql_fetch_array($reponse))
{
ca ne maffiche rien
en fait vu que je fais ma recherche sur une autre page et que je fais form action vers la page dont on parle depuis tout a lheure je me demande si il peut repéré ce qu'il y a dans le if
car si il ne reconnait pas qu'il est dans le if c'estr normal que ca marche pas -
ta tester ta requete avec mysql ou autre je sais pas se que t'utilise? pour voir se qu'elle te ranvoi.
-
Je pense que tu as trouvé ta solution, en fait ton if test des valeur a la volé, mais ne les sauvegarde dans aucune variable, essaye tout bêtement d'incrémenter tout tes $_POST dans des variables, pour voir si cela peut provenir de là.