Page 1 sur 1

Probleme affichage requete

Posté : 10 avr. 2014, 09:42
par redshark59
Bonjour à tous, j'ai un petit script PHP qui me permet de chercher dans ma base MySQL voir si un nom y est présent, mon code detecte bien cela mais je n'arrive pas du tout a afficher le nom qui ressort de la base de donnée, par exemple si je tape "ga" j'aimerais qu'il me ressorte tous les noms commençant par ça. Mon problème se tourne donc vers l'affichage des résultats, le code en lui meme fonctionne, merci.

<?php
// database settings
$Host = 'localhost';
$User = 'root';
$Pass = '';
$Base = 'annuaire';

// mysql table :
$Table = 'u557';
// field used for search
$champ = 'Nom';
// number of chars to display
$NB_carac = 100;
?>
<form method="post" action="<?=$PHP_SELF?>">
<input type="text" name="Psearch"><br />
<input type="submit" value="Search">
</form>
<br />

<?php
if(isset($_POST['Psearch']) && !empty($_POST['Psearch'])) {

    mysql_connect($Host, $User, $Pass);
    mysql_select_db($Base);

    $search = trim($_POST['Psearch']);
    $T = explode(' ', $search);
    $count = count($T);

    // build sql request
    if($count > 1) {
      $s = " $champ LIKE '%$search%' ";
      for($i=0; $i<$count; $i++) {
          if(empty($T[$i])) continue;
        $s .= " OR $champ LIKE '%$T[$i]%' ";
        $Ns[] = $T[$i];
        }
      }
    else {
      $s = " $champ LIKE '%$search%' ";
      $Ns[] = $search;
      }
    $Requete = "SELECT $champ from $Table WHERE $s";
    $Env = mysql_query($Requete) or die (mysql_error());

    if(mysql_num_rows($Env) == 0) $Error = 'No results';
    else $Error = FALSE;
    echo $Error;

    echo '<table border="1">';
    $i = 1;
    while ($O = mysql_fetch_row($Env)) {
      echo '<tr><td>';
      echo "<u>Results $i</u> <br /><br />";

      $Nom = $row[0];
	echo "<tr>\n
	<td>$Nom</td&gt\n
	
	</tr>\n";

        echo '</td></tr>';
        }
    echo '</table><br />';
    }
?>

Re: Probleme affichage requete

Posté : 10 avr. 2014, 14:29
par jojolapine
Bonjour,

Le problème vient à priori de cette ligne :
    while ($O = mysql_fetch_row($Env)) {
en effet cette variable n'est pas utilisée dans la suite du code...

Cordialement,

Re: Probleme affichage requete

Posté : 10 avr. 2014, 14:35
par sirakawa
On ne peut pas dire qu'un code qui se sert de mysql est correct. Mysql est obsolete et DOIT être remplacé soit par mysqli soit par PDO (cf doc officielle de PHP sur ce point).