Salut, je suis débutant en php et j'essaie de mettre en place un petit moteur de recherche interne à mon site. La recherche se fait sur une petite page via un formulaire tout simple:
<form method="POST" action="script_recherche.php" name="recherche" value="">
Rechercher une entrée dans la base de données : <input type="text" name="recherche" value="">
<input type="SUBMIT" value="Rechercher">
</form>
Et dans mon script_recherche.php, je met l'action à faire pour que lorsque l'utilisateur a cliqué sur le bouton Rechercher, le script recherche dans TOUTES mes tables de ma BDD s'il y a une ou plusieurs occurrences, et me les afficher dans un tableau.
Voici mon script_recherche.php:
<!-- Affichage des résultats partie1 -->
<table>
<tr>
<td colspan="9999">Résultat de votre recherche :</td>
</tr>
<?php
include ("dbconnect.php");
//On récupère la recherche de l'utilisateur
$recherche = $_POST['recherche'];
// la requete mysql permettant de trouver les résultats
$sql='SELECT
administration.nom,prenom,adresse,tel,administrati
on.mail,date,assistance.nom,assistance.mail,commen
taire,reference,marque,modele,os,dispo,lieu,reserv
ation.reference,nomcli,datereserv,quantite
FROM administration,assistance,inventaire,reservation
WHERE administration.nom LIKE "%'.$recherche.'%"
OR prenom LIKE "%'.$recherche.'%"
OR adresse LIKE "%'.$recherche.'%"
OR tel LIKE "%'.$recherche.'%"
OR administration.mail LIKE "%'.$recherche.'%"
OR date LIKE "%'.$recherche.'%"
OR assistance.nom LIKE "%'.$recherche.'%"
OR assistance.mail LIKE "%'.$recherche.'%"
OR commentaire LIKE "%'.$recherche.'%"
OR reference LIKE "%'.$recherche.'%"
OR marque LIKE "%'.$recherche.'%"
OR modele LIKE "%'.$recherche.'%"
OR os LIKE "%'.$recherche.'%"
OR dispo LIKE "%'.$recherche.'%"
OR lieu LIKE "%'.$recherche.'%"
OR reservation.reference LIKE "%'.$recherche.'%"
OR nomcli LIKE "%'.$recherche.'%"
OR datereserv LIKE "%'.$recherche.'%"
OR quantite LIKE "%'.$recherche.'%"';
$result=mysql_query($sql) or die (mysql_error());
$data=mysql_fetch_array($result);
?>
<!-- Affichage des résultats partie2 -->
<tr>
<td><?php echo($data['administration.nom']);?></td>
<td><?php echo($data['prenom']);?></td>
<td><?php echo($data['adresse']);?></td>
<td><?php echo($data['tel']);?></td>
<td><?php echo($data['administration.mail']);?></td>
<td><?php echo($data['date']);?></td>
<td><?php echo($data['assistance.nom']);?></td>
<td><?php echo($data['assistance.mail']);?></td>
<td><?php echo($data['commentaire']);?></td>
<td><?php echo($data['reference']);?></td>
<td><?php echo($data['marque']);?></td>
<td><?php echo($data['modele']);?></td>
<td><?php echo($data['os']);?></td>
<td><?php echo($data['dispo']);?></td>
<td><?php echo($data['lieu']);?></td>
<td><?php echo($data['reservation.reference']);?></td>
<td><?php echo($data['nomcli']);?></td>
<td><?php echo($data['datereserv']);?></td>
<td><?php echo($data['quantite']);?></td>
</tr>
</table>
</body>
</html>
Enfin ma BDD est constituée de 4 tables:
administration
Avec les colonnes: id_administration, nom, prenom, adresse, tel, mail
assistance
Avec les colonnes: id_assistance, date, nom mail, commentaire
inventaire
Avec les colonnes: id_inventaire, reference, marque, modele, os, dispo, lieu
reservation
Avec les colonnes: id_reservation, reference, nomcli, datereserv, quantite, id_administration, id_inventaire
Et il faut savoir que cette table est particulière puisque la reference vient de la table inventaire et le nomcli de la table administration
Le problème que je rencontre est qu'il me dit: le champ 'machin' dans field list est ambigu.
Quelle est l'erreur que j'ai commise?
Est-ce que le soucis vient de la table reservation qui est en quelque sorte reliée aux tables inventaire et administration?
Merci