Pb requete et php

Fermé
kiki - 18 févr. 2003 à 10:47
 kiki - 18 févr. 2003 à 13:55
salut,

j'ai fait un script pour rechercher des données dans ma bd et qui afficherait le résultat, mais des numero s'affiche alors que ce ne sont que des noms qui devraient s'afficher.
j'ai 3 tables
destinataire (nodest, nomdest, stedest, activitédest, adress, villedest, cpvilledest)
table1(noexp, nomexp)
table2(notable2, date, objet, refnodest, refnoexp)

j'ai essayer de faire un affichage dans un tableau html mais rien ne s'affiche

voila ce script de malheur !!!
<?php
//cnx à la bd
$bd = mysql_connect('localhost', 'login','mot de passe') or die ("erreur de connexion");
//séléction de la bd
mysql_select_db(courrier2, $bd) or die("erreur de connexion à la base");

//on recupere le no du destinataire
$query1 = "SELECT *FROM destinataire WHERE nomdest = '$nomdest' OR stedest = '$stedest'";
$result1 = mysql_query($query1);
$linenodest = mysql_fetch_array($result1);
$nodest = $linenodest[0];

//on récupere le no de l'expediteur
$query2 = "SELECT * FROM table1 WHERE nomexp = '$nomexp'";
$result2 = mysql_query($query2);
$linenoexp = mysql_fetch_array($result2);
$noexp = $linenoexp[0];

//on effectue la recherche
$query = "SELECT * FROM destinataire, table1, table2 WHERE table2.refnoexp = table1.noexp AND table2.refnodest = destinataire.nodest AND destinataire.nomdest LIKE '%$nomdest%' AND destinataire.stedest LIKE '%$stedest%' AND destinataire.activitedest LIKE '%$activitedest%' AND destinataire.villedest LIKE '%$villedest%' AND table1.nomexp LIKE '%$nomexp%' AND table2.date LIKE '%$date%' AND table2.objet LIKE '%$objet%' ORDER BY date DESC";
$result = mysql_query($query);
$res = mysql(courrier2,$query);
$rowcount = mysql_numrows($result);

//affichage des données
echo '<html><body bgcolor="#FFFFFF" text="#000000" background="Papbis.gif"><font face="Geneva, Arial, Helvetica, san-serif">Résultat de la recherche</body><br><br>';
echo '<table>';
$i=0;
while ($i<$rowcount)
{
echo'<tr>';
echo'<td>'.mysql_result($result,$i,"Nom du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Société du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Nom du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Adresse du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Ville du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Code Postal du destinataire").'</td>';
echo'<td>'.mysql_result($result,$i,"Nom de l'expediteur").'</td>';
echo'<td>'.mysql_result($result,$i,"Objet du courrier").'</td>';
echo'<td>'.mysql_result($result,$i,"Date du courrier").'</td>';
echo'</tr>';
;}

mysql_close();
echo'</font></html>';
?>
est ce que vous pouvez m'aider ???
A voir également:

2 réponses

wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
18 févr. 2003 à 13:13
fait un echo de ta derniere query( la grosse) et copie/colle dans phpmyadmin directement pour voir le resultat.
Comme tu ne renommes pas tes champs, ils doivent donc s'appeler destinataire.nodest , table1.noexp, etc...
de plus, il vaut mieux faire des left join dans ta requete pour optimiser la performance.
0
Comme tu ne renommes pas tes champs, ils doivent donc s'appeler destinataire.nodest , table1.noexp, etc...
tu veux dire quoi ? il sont bien définis !
0