Mon code affiche toutes les lignes de la bdd

[Fermé]
Signaler
Messages postés
11
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
7 décembre 2016
-
Messages postés
11
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
7 décembre 2016
-
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>


1 réponse

Messages postés
760
Date d'inscription
samedi 29 mars 2014
Statut
Membre
Dernière intervention
8 septembre 2018
118
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.
Messages postés
11
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
7 décembre 2016

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.
Messages postés
11
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
7 décembre 2016

je viens de résoudre mon problème tout seul, merci en tout cas