2 critères de recherches

Résolu
Alain -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je voudrais effectué une recherche dans ma base de donnée sql et pour effectué la recherche je voudrais un formulaire qui enverrais les 2 variable de recherche.
Est-ce possible ?
Merci


A voir également:

6 réponses

DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
En gros, tu veux par exemple avec deux inputs : Nom et Prenom
Et quand il appuie sur le bouton, ça écrit son age ?
0
Alain
 
en fait je voudrais afficher seulement les résultats selon les critères de recherche
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
Tu aurais un exemple que j'essaie de mieux comprendre s'il te plait ?
0
Alain
 
dans ma base de donné j'ai nom projet date et heure je voudrais effectué une recherche et trier par nom et projet.
exemple si nom = moi et projet = projet 1 affiche les résultats
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
C'est faisable et très facilement.
Il suffit que tu recupères les deux champs, et que tu mettes deux conditions dans ta requete pour vérifier les résultats, suivi d'un order by pour les mettre dans l'ordre :)
0
Alain
 
"SELECT *
FROM mabase
WHERE nom LIKE (variableform1) and projet LIKE (variableform2)
ORDER BY nom
DESC" ;
0
Alain
 
mais comment récupérer les variable et les amené dans les critère de recherche c'est la mon problème !!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
0
Alain
 
il me manque juste à remplacer les 2 endroits après les LIKE ou il y a ceci: ??????
<?php
  //récupération des valeurs des champs:
  //nom:
  $nom     = $_POST["nom"] ;
  //projet:
  $projet = $_POST["projet"] ;
 
    //connection au serveur:
    $cnx = mysql_connect("[/contents/523-adresse-ip localhost]", "MONLOGIN", "MONPASSWORD") ;
 
    //sélection de la base de données:
    $[/contents/372-fichier-db db] = mysql_select_db("MABASE") ;

echo "<table border=\"1\">" ;
 
    //requête SQL:
    $sql = "SELECT *
       FROM timebase
       WHERE nom LIKE ?????? and projet LIKE ?????? 
       ORDER BY date 
    DESC" ;
    
 
    //exécution de la requête:
    $requete = mysql_query( $sql, $cnx ) ;
 
    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    {
       echo("<tr valign=\"middle\"><td width=\"200\"> ".$result->nom."</strong></td>
    <td width=\"200\"> ".$result->projet."</td>
    <td width=\"100\" align=\"center\">".$result->date."</td>
    <td width=\"80\" align=\"center\">".$result->heure." Heures</td>\n") ;
    }
echo "</table>" ;
echo "<br>" ;
echo "<input type=\"button\" onClick=\"document.location.href = 'MON LIEN'\" value=\"Nouvelle fiche de temps\"></[/contents/242-introduction-au-dynamic-html-dhtml div]>" ;
echo "<br><br>" ;
?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
    $sql = "SELECT *
       FROM timebase
       WHERE nom LIKE '%".$nom."%' and projet LIKE '%".$projet."%'
       ORDER BY date 
    DESC" ;

0
Alain > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Merci énormément c'est exactement ce que je n'arrivais pas à trouver ;)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Alain
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
Rien a redire, tout est là :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain
 
que ce passe t-il si le champ est vide je voudrais que ça affiche tout
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pour cela .. il faut le faire autrement ...
par exemple :

$criteres = array();

 if($nom){
$criteres[] = " nom LIKE '%".$nom."%' ";
}
 if($projet){
$criteres[] = " projetLIKE '%".$projet."%' ";
}

if(count($criteres)>0){
 $strWhere = " WHERE " . join(" AND " ,$criteres);
}

$sql = "SELECT *
       FROM timebase
       ". $strWhere ."
       ORDER BY date 
    DESC" ;



Et pour la récupération des variables ( à faire comme ça de toutes façons pour éviter des PB de variables inexistantes... ! )
 //récupération des valeurs des champs:
  //nom:
  $nom     = isset($_POST["nom"])?$_POST["nom"] : NULL;
  //projet:
  $projet = isset($_POST["projet"])?$_POST["projet"]:NULL ;
0