Récupérationj + affichage de ma BDD avec des requêtes

Fermé
N.cec Messages postés 2 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 5 mai 2017 - 4 mai 2017 à 15:52
N.cec Messages postés 2 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 5 mai 2017 - 5 mai 2017 à 08:49
Bonjour à tous,

J'ai un petit soucis et j'aurais bien besoin que l'on m'aide.

Voila j'ai une basse des données qui est grande et j'aimerais créer une requête pour récupérer des champs de ma BDD.

Je m'explique, j'ai on va dire 6 champs en BDD plus le champs id.
Donc ca fait: id, nom de l'entreprise, le contact, pays, commentaires, derniers entretiens, problèmes (ces champs sont des exemples afin que vous puissiez comprendre)

Et dans cette base des données j'ai on va dire 300 lignes.
Exemple de ligne,
1/ Entreprise 1/ Ingénieur Florent/ France/ Ce jeu est super/ Vendredi 5 Avril 2017/ Bug


Ce qui me fait beaucoup d'information et donc j'aimerais pourvoir en faisant une recherche, récupérer toutes mes données en fonction de ma recherche.

Voila à quoi j'ai pensé :
Faire un formulaire de recherche par mot clefs.

Un champs qui permet de trouver par nom de l'entreprise (ce sera pas une liste déroulante mais j'aimerais quand dessous le champs me propose des nom d'entreprise [qui sont dans ma BDD] en fonction de la lettre que j'écris dans ce cadre)

Un autre champs qui permet de trouver par contact (de la même façon que pour le nom de l'entreprise)

Un 3ème champs qui permet de trouver par le pays (de la même façon que pour le nom de l'entreprise)

et encore d'autres champs pour les autres recherches puis mon bouton envoyer pour soumettre cette recherche.

Bien sur, je voudrait qu'il y ai la possibilité que les champs ne soit pas remplit afin de pourvoir recherche une entreprise en fonction de son pays sans être obligé de devoir remplir le champs contact ou commentaire ou autre...

Et donc cette recherche doit me donner au final, la ligne adapté à ma recherche.

Exemple:
Entreprise 1/ Ingénieur Florent/ Bug
(la je recherche par le champs nom de l'entreprise, le contact et problèmes).

Donc dans ma réponse je devrais avoir toutes les lignes de ma BDD (où l'entreprise 1 avec l'ingénieur Florent et le bug) qui ressorte.


Voici à quoi je pensais pour mon code:

Pour le HTML :



<forme id="rechercher" méthode="post" action="">
<select Name="entreprise" id="entreprise"
<option value="1">entreprise 1</option>
<option value="2">entreprise 2</option>
<option value="3">entreprise 3</option>
</select>

<select Name="contact" id="contact"
<option value="1">Ingénieur Florent</option>
<option value="2">contact2</option>
<option value="3">contact3</option>
</select>


<select Name="pays" id="pays"
<option value="1">France</option>
<option value="2">Suisse</option>
<option value="3">Belgique</option>
</select>

<input type="subite" Name="envoyer" value="Envoyer"/>

</forme>


Je pensais également faire mes requêtes avec du PHP du genre :


<?PHP

class cherche extenso BDD{

protectif $PDO;

public fonction __constructif(){
parent::__constructif();
}

public fonction GETITEMS($langue){

$Client=$This->PDO->QUERY("SELECT * FROM client WHERE ORDER BY index Menu");

$client=$client->FETCHALL();

return $client;
}



}




Mais je pense quand faisant comme ca, il va falloir que j'écris en dur tous mes champs et que sa ne vas pas me choisir l'entreprise ou pays ou autre en fonction de ma BDD. Sachant que j'ai déjà tous les champs remplis dans ma BDD. Je ne veux que appelé mes champs et faire ma recherche en appelant ma BDD.



Je ne sais pas si je me suis exprimée correctement.
Car c'est un peu confus dans ma tête et donc j'ai du mal à exprimer ce que je veux.

Merci à toutes les personnes qui prendront le temps de lire ceci et de me répondre.

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
4 mai 2017 à 16:17
Bonjour,

Ta question concerne le PHP .... ou la requête en elle même (et dans ce cas le MYSQL ) ??

On va déplacer ta question dans le forum php pour l'instant...


Quoi qu'il en soit ... Sans avoir tout lu ... je pense que ta question est comment rechercher dans la bdd en fonction de plusieurs champs...
Il te faudra donc utiliser dans ta requête des AND (ou des OR ) en fonction de tes besoins.

Côté PHP .. tu pourras construire ta requête en fonction des champs remplis ou non...

par exemple :

//exemple de variables pour tes champs :
$champ1 = 'toto'
$champ2 = 'tutu'
$champ3 = ''


//construction du "WHERE" de ta requête
$strWhere ="WHERE 1=1";
if(!empty($champ1 )){
  $strWhere .= " AND champ1='$champ1' ";
}
if(!empty($champ2 )){
  $strWhere .= " AND champ2='$champ2' ";
}

if(!empty($champ3 )){
  $strWhere .= " AND champ3='$champ3' ";
}


// ce qui, pour notre exemple, donnera un truc du genre ;
// " WHERE 1=1 AND champ1='toto' AND champ2='tutu' ";
$sql = "SELECT * FROM client $strWhere  ORDER BY index Menu";
$Client=$This->PDO->QUERY($sql);





0
N.cec Messages postés 2 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 5 mai 2017
5 mai 2017 à 08:49
D'accord !
Je te remercie de ta réponse je vais essayer comme ca !
0