Mon code affiche toutes les lignes de la bdd

Fermé
nguyen0000 Messages postés 11 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 7 décembre 2016 - 5 mai 2016 à 19:46
nguyen0000 Messages postés 11 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 7 décembre 2016 - 7 mai 2016 à 00:23
Bonjour,
Dans le cadre d'un projet de l'université , je dois faire un projet en php et je débute. Pour ce projet je dois faire un annuaire . J'ai fait un formulaire :


Mon code marchait super bien et mes collègues ont changé le nom des champs donc j'ai du adapté aux changement , sauf que comme je suis un débutant, j'ai du faire des erreurs, par conséquennt, ma page php affiche les informations de TOUTES les entités au lieu de celle qui est choisie par l'utilisateur. La deadline s'approche et je ne sais plus quoi faire. Est ce que vous pouvez m'aider s'il vous plaît ?
Je vous remercie d'avance

Voici mon code php
<?php 
//------------------------------------------------------------------------------------//
//Connexion à la BDD
//------------------------------------------------------------------------------------//
require_once "connexion.php";
?>

<?php
//------------------------------------------------------------------------------------//
// FONCTIONS
//------------------------------------------------------------------------------------//

//fonction de recherche
function afficherInfo($tab)
{
  echo "<link href='bootstrap/css/bootstrap.min.css' rel='stylesheet'>
      ";
for ($i = 0; $i < count($tab); $i++) {
  ?>
    <div class='recherche-entity'>
      <div> <label>Nom de l'entité:</label> <?php echo $tab[$i]['nom_entite'] ?></div>
      <div> <label>Secteur: </label><?php echo $tab[$i]['secteur'] ?></div>
      <div> <label>Adresse: </label><?php echo $tab[$i]['adresse'] ?></div>
      <div> <label>Ville:  </label><?php echo $tab[$i]['ville'] ?></div>
      <div> <label>Code postal:</label><?php echo $tab[$i]['codePostal'] ?></div>
      <div> <label>Email: </label><?php echo $tab[$i]['email'] ?></div>
      <div> <label>Numero de telephone:</label><?php echo $tab[$i]['numero_telephone'] ?></div>
      <div> <label>Numero TVA intracommunautaire:</label><?php echo $tab[$i]['TVA_Intracommunautaire'] ?></div>
      <div> <label>Numero Siret: </label><?php echo $tab[$i]['Numero_Siret'] ?></div>
      <br>
      <br>
    </div>
  <?php
 
}

}

//------------------------------------------------------------------------------------//
// Récupération "propre"  des variables necessaire
//------------------------------------------------------------------------------------//
$NomEntite = !empty($_POST['nom_Entite']) ? $_POST['nom_Entite'] : NULL;
$Ville = !empty($_POST['ville_Entite']) ? $_POST['ville_Entite'] : NULL;
$Type = !empty($_POST['type_Entite']) ? $_POST['type_Entite'] : NULL;
$ClientSecteur = !empty($_POST['secteur_Entite']) ? $_POST['secteur_Entite'] : NULL;


//------------------------------------------------------------------------------------//
//Construction de la requête en fonctions des champs remplis par l'utilisateur.
//------------------------------------------------------------------------------------//

$sql = "Select * FROM entite ";

//Si au moins un des champs est rempli :
if($NomEntite || $Type || $ClientSecteur || $Ville){
  $a_params = array();
  if($NomEntite){$a_params[] = " `NomEntite` LIKE '$NomEntite%' "; }
  if($Ville){$a_params[] = " `Ville` LIKE '$Ville%' "; }
  if($Type){$a_params[] = " `Type` LIKE '$Type%' "; }
  if($ClientSecteur){$a_params[] = " `ClientSecteur` LIKE '$ClientSecteur%' ";}
}


//on conmplete la requete en y ajoutant le WHERE et les éventuels AND
$strWhere = !empty($a_params) ? " WHERE " . join(' AND ',$a_params) : "" ;
$query = $sql . $strWhere;

//On exécute la requete :
$result = mysqli_query($connexion,$query); // execute la requete

$row_cnt = mysqli_num_rows($result); // compte le nombre de résultats de la requete executée

if ($row_cnt > 0)
{

while ($row=mysqli_fetch_assoc($result)) {
 $array[]= array(
  "nom_entite" => $row['nomEntite'],
  "adresse" => $row['adresse'],
  "secteur" =>$row['clientSecteur'],
  "type_entite" => $row['type'],
  "ville" =>  $row['ville'],
  "codePostal" => $row['codePostal'],
  "pays" => $row['pays'],
  "email" =>  $row['mail'],
  "contact" => $row['contact'],
  "numero_telephone" =>  $row['numeroTelephone'],
  "TVA_Intracommunautaire" =>  $row['TVAintra'],
  "Numero_Siret" => $row['numeroSiret'],
  );
}
}

//-----------------------------------------//
// Affichage des informations
//-----------------------------------------//
if (isset($array))
{
	afficherInfo($array);

}
else // pas de résultats
{
?>


<?php
}
?>

<form action="annuaire1.php" method="post">
	<p><input type="submit" value="NOUVELLE RECHERCHE"></p>
</form>


A voir également:

1 réponse

codeurh24 Messages postés 760 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
5 mai 2016 à 22:33
bonsoir
j'aimerai bien t'aider mais ton formulaire est vide. Puis je ne comprend pas pourquoi tu a des boucles alors que tout est affiché d'un coup.

Je me demande aussi comment est construite ta table.
0
nguyen0000 Messages postés 11 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 7 décembre 2016
6 mai 2016 à 23:34
mon formulaire est vide ? c'est à dire ? qu'il n'est pas rempli dans mon image ? si oui, c'est juste pour vous donner un aperçu de mon formulaire

la table est construite à partir de la boucle while en bas du code . La boucle while éxécute la requête et stock les valeurs dans row , puis je récupère ces valeurs pour les mettre dans d'autre variables que j'utilise dans la boucle for en haut du code.
0
nguyen0000 Messages postés 11 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 7 décembre 2016
7 mai 2016 à 00:23
je viens de résoudre mon problème tout seul, merci en tout cas
0