IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP : if else (3 conditions) comment faire ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut PHP : if else (3 conditions) comment faire ?
    Bjr,

    Dans le champs à compléter : la requete =
    1. je vérifie si + de deux caractères sinon, message "Veuillez saisir une recherche d'au moins 2 caractères"
    2. j'affiche le champs societe
    3. sinon, afficher "il n'y pas de réponse"

    C'est la 3ème condition que je n'arrive pas à intégrer
    Est ce que quelqu'un pourrait m'aiguiller, sur le code ci-dessou
    Merci, Alizea

    ------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?
    //connection à la base de données
    include ("connect.php");
    // on se connecte à MySQL 
    $db = mysql_connect("$str_host","$str_user", "$str_password");
     
    // on sélectionne la base 
    mysql_select_db("$DBASE", $db);
     
    // on crée la requete SQL 
    $sql = "select distinct societe from frs";
    $sql .= " where societe like '%$frs%'";
    $req = mysql_query($sql,$db) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
    $caractere = strlen($frs);
     
    if ($caractere<2)
    	print("Veuillez saisir une recherche d'au moins 2 caractères<br /><a href=\"javascript:history.go(-1)\">Retour</a>");
     
    else
    // on fait une boucle qui va faire un tour pour chaque enregistrement 
    while($data = mysql_fetch_array($req))
    {
    // on affiche les informations de l'enregistrement en cours 
    	print "$data[societe]<br \>"; }
     
     
    mysql_close($db);
    ?>

  2. #2
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (len < 2) {
         erreur;
    } else if (num_rows == 0) {
         pas de resultat;
    } else {
         super;
    }
    Au passage tu devrais vérifier la longeur de ta variable $frs avant d'effectuer la requête.

    Résultat (au passage un peu mieux soigné) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    	include ("connect.php");
    	// on se connecte à MySQL
     
    	if (strlen($frs < 2) {
    		echo 'Erreur';
    	} else {
    		$db = mysql_connect($str_host,$str_user, $str_password);
     
    		// on sélectionne la base
    		mysql_select_db($DBASE, $db);
     
    		// on crée la requete SQL
    		$sql = "select distinct societe from frs";
    		$sql .= " where societe like '%$frs%'";
    		$req = mysql_query($sql,$db) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    		if (!mysql_num_rows($req)) {
    			echo 'pas de resultat';
    		} else {
    			while($data = mysql_fetch_array($req)) {
    				echo $data['societe'] . '<br />';
    			}
    		}
    		mysql_close($db);
    	}

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Super merci pour ton aide, ca fonctionne parfaitement.
    alizea

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Si je souhaite mettre les caractères en majuscule,
    Comment puis je intégrer la fonction : $majucule = strtoupper("$frs");

    en fait, je recherche à mettre en majuscule, car il y a des caractères spéciaux.

    Alizéa

  5. #5
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql .= " where societe like '%$frs%'";
    Deviendrai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql .= 'WHERE UPPER(societe) LIKE "'.strtoupper($frs).'"';
    Cependant je ne suis pas sur que ce soit une technique infaillible contre les accents

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    deviendrais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql .= 'WHERE UPPER(societe) LIKE "%'.strtoupper($frs).'%"';
    (il a oublié les %)
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  7. #7
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    oups pardons

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Je l'ai intégré comme ceci finalement.

    echo ''.strtoupper($data['societe']). '<br />';
    merci pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trop de conditions comment faire?
    Par samlepiratepaddy dans le forum Excel
    Réponses: 2
    Dernier message: 24/05/2007, 11h11
  2. [MySQL] Php, je ne comprends pas comment faire pour introduire des données dans une table
    Par Liondd dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 14/12/2006, 12h53
  3. autoexec sous condition?comment faire?
    Par polianita dans le forum Access
    Réponses: 2
    Dernier message: 12/07/2006, 11h57
  4. [CR][PHP] Comment faire ?
    Par delatouf dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 15/12/2004, 16h31
  5. ASP + PHP avec le même phpmyadmin comment faire?
    Par King Boulet dans le forum ASP
    Réponses: 8
    Dernier message: 29/10/2003, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo