Tout ne s'affiche pas!!! a devenir fou

hmidanas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
 le père -
Bonjour,

Alors voila, j'ai un script php qui permet de lire les donnes sur une table et ensuite de les afficher, sous forme de tableau, dans une autre page. il s'agit de noms d'employes d'entreprises. le but est que le premier script affiche juste le nom de la compagnie et celui de l'employe, et ensuite pour avoir le reste des informations, il faut cliquer sur le nom de la compagnie. donc ca marchait sans trop de probleme, ca affichait les noms des entreprises et tout le reste ms en cliquant sur le nom, certaines entrees maffichent toutes les informations tandis ke dotres maffichent RIEN DU TOUT!! La table sql etant bien remplie jai reverifie avec plusieurs entrees...
je n ai pas la moindre idee d'ou ca peut venir, donc si qq a une idee, merci davance!!
Voila les scripts:

Premiere page (moteur de recherche + affichage)


<code>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>search engine</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design_index.css" />
</head>
<body>



<?php
//search by company
//$_POST['choix'];
if(isset($_POST['requete']) && $_POST['requete'] != NULL && $_POST['choix'] != NULL)
{



mysql_connect('localhost','root','');
mysql_select_db('nasforce');
$requete = htmlspecialchars($_POST['requete']);
$kda=$_POST['choix'];
$query = mysql_query("SELECT * FROM investors WHERE $kda LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)
{
?>
<h2> We found <?php echo $nb_resultats;


if($nb_resultats > 1) { echo ' results which are'; } else { echo 'result which is'; }

?>
</h2>
<br/><br /><br /><br />
<?php

while($donnees = mysql_fetch_array($query))
{
$name_tranmitted = $donnees[$kda];
$kda2 = $donnees['first_name'];
$kda3 = $donnees['last_name'];
?>
<a href="affichage_result_details.php? request=<?php echo $name_tranmitted;?>">
<strong><?php echo "company" ?></strong> : <?php echo $donnees['company']; ?></a>
<?php echo $kda2.$kda3; //affichage du nom et du prenom, a la suite du nom de la company. ?>
<br />


<p>
<table>
<CAPTION> Investors' information </CAPTION>
<tr>
<th>Company </th>
<th>First Name </th>
<th>Last Name </th>
<th>Prospect </th>
</tr>
<?php
while ($donnees = mysql_fetch_array($query) )
{
?>
<tr>
<td> <a href="affichage_result_details.php? request=<?php echo $name_tranmitted;?>">
<strong><?php echo "company" ?></strong> : <?php echo $donnees['company']; ?></a> </td>

<td> <?php echo $donnees['first_name'];?> </td>
<td> <?php echo $donnees['last_name'];?> </td>
<td> <?php echo $donnees['status']; ?> </td>


</tr>
</table>

<p>
<?php
}
?><br/>
<br/><br /><br /><br /><br /><br /><br /><br /><br /><br /><br>

<p>
<a href="search_engine_test.php">New Research</a>
</p>
<?php
}
else// pour cette ligne en plus jai un parse error... :(
{
?>
<p> sorry there are no such entries there </p>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <p> <a href="search_engine_test.php">New Research</a></p>
<?php
}
}
else
{
?>
<form action="search_engine_test.php" method="Post">
<label for="choix">Search by</label>
<select name="choix">
<option value="company">Company</option>
<option value="last_name">Last name</option>
<option value="status">Status</option>
<option value="date">Date</option>
</select>

<form action="search_engine_test.php" method="Post">
<input type="text" name="requete" size="20">
<input type="submit" value="Ok">
</form>


<?php
}


?>
</body>
</html>

<code/>


script pour laffichage des donnees:


<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Information writer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design_index.css" />
</head>
<body>

<?php

$company_name = $_GET['request'];
mysql_connect('localhost','root','');
mysql_select_db('nasforce');
$query = mysql_query("SELECT * FROM investors WHERE company ='$company_name'") or die (mysql_error());


?>
<p>
<table>
<CAPTION> Investors' information </CAPTION>
<tr>
<th>Company</th>
<th>Status</th>
<th>First Name</th>
<th>Last Name</th>
<th>Address</th>
<th>Phone number</th>
<th>Email</th>
</tr>
<?php
while ($donnees = mysql_fetch_array($query) )
{
?>
<tr>
<td><?php echo $donnees['company']; ?></td>
<td><?php echo $donnees['status']; ?></td>
<td><?php echo $donnees['first_name'];?></td>
<td><?php echo $donnees['last_name'];?></td>
<td><?php echo $donnees['address'];?></td>
<td><?php echo $donnees['phone'];?></td>
<td><?php echo $donnees['email'];?></td>
</tr>
</table>

<p>

<code/>

Merci d'avance...

4 réponses

moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
désolé je ne 'ai pas tout lu mais est ce que tu as testé la requete en base de donnée ?
Coté php essaye de faire des echo sur tes varariables après que la requete ait été effectuée pour voir ce qui est passé comme valeurs
0
hmidanas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
la requete marche vu que laffichage se fait pour un peu plus de la moitie des entrees...
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
si la requete fonctionne à toi de débeuguer ton php
0
le père
 
Bonjour

Dans ton 1er script, tu utilises htmlspecialchars sur le nom de la compagnie, pas dans le second.
Si ça vient bien de là, les compagnies qui te manquent doivent être celles dont le nom comporte des lettres accentuées ou autres caractères spéciaux.
Essaye dans le second script de faire :
$company_name = htmlspecialchars($_GET['request']);
0