sam06

Inscris le 08/06/2011 à 15:31
  • Nombre de sujets
    1
  • Nombre de messages
    1
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
sam06
Bonjour tout le monde,

J'ai une base de données mysql où sont enregistrées des références de livres (titre,auteur,éditeur,etc.). Pour afficher mes données à l'écran, j'ai fait un tableau, chaque colonne correspondant à un champ de la base de données. J'ai un formulaire html avec champs "titre","auteur","editeur","genre" où l'utilisateur peut entrer sa recherche soit par nom d'auteur, soit part titre, soit par éditeur, soit par genre. J'ai fait un script PHP avec les requêtes mysql pour sortir les données demandées par l'utilisateur. Or j'ai un petit souci : alors que je voudrais que toutes les données d'un même critère soient dans le même tableau, elles se mettent chacune dans des tableaux différents. Je m'explique : si par exemple l'utilisateur veut sortir tous les livres d'un même auteur, il remplit le champ "auteur". Et au lieu que tous les livres de cet auteur soient dans le même tableau, il y a un tableau par livre de cet auteur. Cela fait 2 jours que je planche là-dessus et que je triture mon code dans tous les sens, sans succès. Il n'y a pas de parse error, donc il ne s'agit pas d'une erreur de syntaxe. Mon code doit être faux, mais je ne vois pas où ; seul je n'y arrive pas .
Est-ce que quelqu'un aurait la gentillesse de regarder mon code php et me dire quelles corrections je dois apporter ?

Voici mon code :
<?php

/*Connexion au serveur :*/
$id_sql=mysql_connect("127.0.0.1","user","password") OR die ('Erreur de connexion'.mysql_error());

/*Connexion à la base de données "bibliotheque" :*/
$ok=mysql_select_db("bibliotheque",$id_sql) OR die ('Erreur de sélection'.mysql_error());

/*Si le champ "auteur" est rempli :*/
if(isset($_POST['auteur']))
{
$sql='SELECT * FROM livres WHERE auteur="'.$_POST['auteur'].'"';
$req=mysql_query($sql) OR die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($tableau=mysql_fetch_array($req))
{
echo '<body bgcolor="#ffeecc"><br><br>
<h2><center>Auteur demand&eacute;&nbsp;:&nbsp;<i>'.$_POST['auteur'].'</i></center></h2>
<table border="1" cellpadding="10" cellspacing="0" width="90%" align="center">
<tr>
<th width="500">Titre</th>
<th width="500">Auteur</th>
<th width="500">Editeur</th>
<th width="150">Genre</th>
<th width="500">R&eacute;sum&eacute;</th>
</tr>
<tr>
<td align="center" style="font-size:11pt; font-weight:normal">"'.$tableau['titre'].'"</td>
<td align="center" style="font-size:11pt; font-weight:bold">'.$_POST['auteur'].'</td>
<td align="center" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['editeur'].'</td>
<td align="center" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['genre'].$tableau['autre_genre'].'</td>
<td align="justify" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['resume'].'</td>
</tr>
</table>';
}
}


C'est une partie du code ; j'ai ensuite un "if(isset($_POST)" par champ, puis à la fin je ferme la connexion au serveur mysql.

Je vous remercie d'avance pour l'aide apportée

Ses derniers messages sur les forums

forum
sam06
Bonjour tout le monde,

J'ai une base de données mysql où sont enregistrées des références de livres (titre,auteur,éditeur,etc.). Pour afficher mes données à l'écran, j'ai fait un tableau, chaque colonne correspondant à un champ de la base de données. J'ai un formulaire html avec champs "titre","auteur","editeur","genre" où l'utilisateur peut entrer sa recherche soit par nom d'auteur, soit part titre, soit par éditeur, soit par genre. J'ai fait un script PHP avec les requêtes mysql pour sortir les données demandées par l'utilisateur. Or j'ai un petit souci : alors que je voudrais que toutes les données d'un même critère soient dans le même tableau, elles se mettent chacune dans des tableaux différents. Je m'explique : si par exemple l'utilisateur veut sortir tous les livres d'un même auteur, il remplit le champ "auteur". Et au lieu que tous les livres de cet auteur soient dans le même tableau, il y a un tableau par livre de cet auteur. Cela fait 2 jours que je planche là-dessus et que je triture mon code dans tous les sens, sans succès. Il n'y a pas de parse error, donc il ne s'agit pas d'une erreur de syntaxe. Mon code doit être faux, mais je ne vois pas où ; seul je n'y arrive pas .
Est-ce que quelqu'un aurait la gentillesse de regarder mon code php et me dire quelles corrections je dois apporter ?

Voici mon code :
<?php

/*Connexion au serveur :*/
$id_sql=mysql_connect("127.0.0.1","user","password") OR die ('Erreur de connexion'.mysql_error());

/*Connexion à la base de données "bibliotheque" :*/
$ok=mysql_select_db("bibliotheque",$id_sql) OR die ('Erreur de sélection'.mysql_error());

/*Si le champ "auteur" est rempli :*/
if(isset($_POST['auteur']))
{
$sql='SELECT * FROM livres WHERE auteur="'.$_POST['auteur'].'"';
$req=mysql_query($sql) OR die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($tableau=mysql_fetch_array($req))
{
echo '<body bgcolor="#ffeecc"><br><br>
<h2><center>Auteur demand&eacute;&nbsp;:&nbsp;<i>'.$_POST['auteur'].'</i></center></h2>
<table border="1" cellpadding="10" cellspacing="0" width="90%" align="center">
<tr>
<th width="500">Titre</th>
<th width="500">Auteur</th>
<th width="500">Editeur</th>
<th width="150">Genre</th>
<th width="500">R&eacute;sum&eacute;</th>
</tr>
<tr>
<td align="center" style="font-size:11pt; font-weight:normal">"'.$tableau['titre'].'"</td>
<td align="center" style="font-size:11pt; font-weight:bold">'.$_POST['auteur'].'</td>
<td align="center" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['editeur'].'</td>
<td align="center" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['genre'].$tableau['autre_genre'].'</td>
<td align="justify" style="font-size:11pt; font-weight:normal">&nbsp;'.$tableau['resume'].'</td>
</tr>
</table>';
}
}


C'est une partie du code ; j'ai ensuite un "if(isset($_POST)" par champ, puis à la fin je ferme la connexion au serveur mysql.

Je vous remercie d'avance pour l'aide apportée

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours