Bonjour,
J'ai un petit problème, qui commence d'ailleurs à me décourager. Voilà plusieurs longues heures que je cherche et teste sans aucun résultat. C'est pour cela que je viens vers vous.
Topo de la situation : j'ai un projet de site web à créer, dans lequel je dois insérer une fonction rechercher dans la base de donnée qui va avec. Donc j'ai beau tester, le résultat de la requête ne s'affiche jamais, je dois avoir un problème dans mon code. Pour info, je suis vraiment une très très grande débutante dans PHP ! Et même si la réponse vous parait bête, elle me servira à mieux comprendreJe vous mets donc mon code :
<?php
$host = localhost;
$user = root;
$bdd = bibliotheque_municipale;
$passwd = '';
mysql_connect ($host, $user, $passwd) or die ("Erreur de connexion à MySQL");
mysql_select_db($bdd) or die ("Erreur de connexion à la base de donnée");
?>
<form method="post" action="catalogue.php">
<p>
<label id="invisible">Invisible</label><br/>
<label>Auteur</label><br/><input type="text" name="auteur"/><br/>
<label>Titre</label><br/><input type="text" name="titre"/><br/>
<label>Editeur</label><br/><input type="text" name="editeur"/><br/>
<label>Date de publication</label><br/><input type="text" name="date_de_publication"/><br/><br/>
<input type="submit" name="rechercher" value="Rechercher"/>
</p>
</form>
<?php
if (isset ($_POST['rechercher']))
{
$auteur=$_POST['auteur'];
$titre=$_POST['titre'];
$editeur=$_POST['editeur'];
$date_publication=$_POST['date_de_publication']
}
?>Petite explication : j'ai déclaré les variables sur la page où elles sont saisies, et j'ai créé la requete sur la page où elles sont envoyées. Vaut-il mieux faire tout sur une seule page ou est-ce que cela peut marcher sur deux pages, une pour la transmission des données, l'autre pour l'exécution de la requête ?<?php
$host = localhost;
$user = root;
$bdd = bibliotheque_municipale;
$passwd = '';
mysql_connect ($host, $user, $passwd) or die ("Erreur de connexion à MySQL");
mysql_select_db($bdd) or die ("Erreur de connexion à la base de donnée");
$sql='SELECT titre, auteur, editeur, date_de_publication FROM ouvrage WHERE titre=$titre, auteur=$auteur, editeur=$editeur, date_de_publication=$date_publication ouvrage.Num_ouvrage NOT IN (SELECT Num_ouvrage FROM emprunt)';
mysql_query($sql) or die ('Erreur SQL !' .$sql. '<br/>' .mysql_error());
mysql_close();
}
?>
Donc, au niveau de la connexion à la base de données, pas de problème. Pourtant je bloque complètement sur l'exécution de la requête. Il me faut pouvoir chercher un bouquin dans la base de donnée selon son auteur, son titre, son éditeur ou sa date de publication. J'aimerai aussi ajouter "disponible" ou "non disponible" pour chaque livre via MySQL.
La table a trois tables : ouvrage, emprunt et emprunteur. Pour le disponible il faudrait vérifier dans les emprunts s'il l'est ou non.
Je suis un peu perdue, quelqu'un pour m'aider ? Le sujet est là pour faire marcher le code, le reste est un bonus
Je vous remercie de m'avoir lue ! Bonne journée à tous![]()
Partager