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

Langage PHP Discussion :

Test sur champs


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Par défaut Test sur champs
    Bonjour,

    Je voudrais faire un test avant affichage des données.
    Exemple,

    Si champs nom contient DURAND

    Echo nom prenom

    Sinon

    Pas de résultat

    Ce serait sympa de m'écrire également le code au cas où le critère de recherche DURAND est une variable $nom.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Quelle difficultés rencontres-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Par défaut
    ET bien, comme je suis débutant, je ne sais pas écrire cette commande,
    j'ai essayé plusieurs combine avec le If mais ça ne passe pas et je ne trouve pas d informations sur cette demande précise sur le net.
    C'est donc la syntaxe de toute la commande qui m'interesse ca doit donner quelque chose genre:

    if (champsnom=Svariablenom) {
    echo nom prenom;
    }

    else {
    echo "Pas d enregistrement à ce nom";

    }

    En fait cette boucle sera dans un while...

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Explique plutôt ce que tu cherches à faire et le résultat que tu souhaites...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Par défaut
    ok, je recommence en mieux

    Je veux passer une variable d un fichier php à l'autre et que cette variable soit utiliser dans un test sur un champ nom.

    Le fichier passera une variable contenant un nom, par exemple DURAND.
    J'aimerais que le script epluche toute la table afin de me sortir les DURAND.

    C'est donc, j imagine, une boucle agrémentée d un test sur le nom...
    Test qui se fait à partir de la variable transmise...
    Suis je plus clair?


  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu parles de table d'une base de donnée ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par idamarco Voir le message
    ET bien, comme je suis débutant, je ne sais pas écrire cette commande,
    j'ai essayé plusieurs combine avec le If mais ça ne passe pas et je ne trouve pas d informations sur cette demande précise sur le net.
    C'est donc la syntaxe de toute la commande qui m'interesse ca doit donner quelque chose genre:

    if (champsnom=Svariablenom) {
    echo nom prenom;
    }

    else {
    echo "Pas d enregistrement à ce nom";

    }

    En fait cette boucle sera dans un while...
    Bon je reviens à une question plus générale (je ne sais pas si elle est dépassée ou toujours d'actualité ?)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    //syntaxe d'un if imbriqué dans une boucle while en PHP
    $compteur=1;
    while($compteur<=10){
    	if($compteur<=5){
    		echo $compteur.' est inférieur ou égal à 5...<br/>';
    	}
    	else{
    		echo $compteur.' est strictement supérieur à 5...<br/>';
    	}
    	$compteur=$compteur+1;
    }
    ?>
    PS : attention, la syntaxe est la suivante pour l'égalité de comparaison et non d'affectation : le double égal.

    En clair :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    //code bon
    if ($basenom==$nom) {
    echo $basenom;
    ?>
    }
    Traduire si basenom égal nom...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    //code mauvais
    if ($basenom=$nom) {
    echo $basenom;
    ?>
    }
    Traduire si basenom reçoit nom...

    Ce qui est une aberration, erreur fort courante cependant... et qui ne génère pas un message d'erreur, mais fait juste faire n'importe quoi à ton test (toujours vrai en fait)... mais bon LIS LE TUTO QUE JE TE RECOMMANDE...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    J'ai donc une base avec une table véhicules.
    Voici un résumé de la table et de ses champs:

    id
    nomentreprise (ex: "Entreprise Tartempion")
    url (ex: "www.tartempion.com")
    catégorie1 (ex:"camions")

    Je pourrais avoir un autre enregistrement de type:

    id
    nomentreprise (ex: "Entreprise Dupont")
    url (ex: "www.dupont.com")
    catégorie1 (ex:"voitures")

    A partir d'une page véhicules.html, j'aimerais qu'en cliquant sur le lien camion, une page camion.php soit générée contenant tous les enregistrements dont la catégories est "camion"
    A question claire réponse claire...

    En plus, ça tombe bien, je sais faire...

    alors voici le code ET LA DEMARCHE A CHAQUE ETAPE

    Dans ta page vehicules.html(pas d'accents sur ton nom de fichier !)
    tu as donc ton lien qui dit
    <a href="camion.php">Voir tous les camions de la base</a>

    dans ta page camion.php
    il y a en gros ceci :

    Mais bon, je te 'fais' juste pour te montrer... Ne te contente pas de le tester.
    Essaie de capter les étapes... J'ai fait des commentaires didactiques.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    // on se connecte à notre base  
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('le_nom_de_ma_base', $base) ;  
    ?>
    <html>
    <head>
    <title>Tous les camions de notre liste</title>
    </head>
    <body>
    <?php
     
    // Préparation  de la requête sql sous php
    $sql = 'SELECT * FROM vehicules WHERE categorie1 = "camions"';
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) 
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
     
    // on récupère le résultat sous forme d'un tableau 
    $data = mysql_fetch_array($req); 
     
    // on libère l'espace mémoire alloué pour cette interrogation de la base 
    mysql_free_result ($req); 
    //on ferme la base puisqu'on a stocké la requete au chaud dans la variable php (qui est un tableau) $data
    mysql_close (); 
     
    echo'<h3>Liste des camions disponibles</h3><br /><br /><br />';
    // on affiche le résultat dans une boucle while
     
    while ($data = mysql_fetch_array($req)) { 
     
    	echo '- entreprise : '.$data['nomentreprise'].'<br />- url :'.$data['url'].'<br /><br /><br />';
     
    } 
    ?> 
    </body>
    </html>
    edit 10H40 code corrigé...

    PS : le seul truc pour toi à changer dans ce code à priori, c'est le_nom_de_ma_base
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Par défaut
    Entre vos script et le tutorial que m'a indiqué Dendritre, je crois avoir trouvé la solution, en tout cas cela marche...

    Qu'en pensez vous, orthodoxe, sécurisé?
    J'ai lu ceci quelque part:
    juste pour préciser que passer directement des variables renseignées dans un formulaire dans une requete SQL est une grosse faille de sécurité ( il suffit de cloturé la requete et d'en ajouter une a la suite pour pouvoir faire n'importe quoi sur la base).
    Voici le code:
    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
     
    <?php
     
    $connect = mysql_connect('localhost','root','') or die ("Erreur de connexion");
    mysql_select_db('base',$connect) or die ("Erreur de connexion base");
     
    $categorie1 = $_GET["categorie1"]; 
     echo 'Ma variable passée par url =>'.$categorie1;
     echo '<br><br><br>';
     
     
     // lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires  
     $sql = "SELECT * FROM `liste` WHERE `categorie1` LIKE '". $categorie1 ."';";   
     // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
     $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
     // on va scanner tous les tuples un par un  
     while ($data = mysql_fetch_array($req)) { 
           // on affiche les résultats 
           echo 'Nom : '.$data['nom'].'<br />'; 
           echo 'Son tél : '.$data['url'].'<br /><br />';  
     }  
     mysql_free_result ($req);  
     mysql_close ();  
     ?>
     </body>
      </html>

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

Discussions similaires

  1. [AC-2003] test sur champ vide et nouvelle valeur
    Par Leehan dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/03/2012, 13h19
  2. test sur champs formulaire !
    Par undercrash dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 21/12/2009, 19h00
  3. Tmap et test sur champ des tables en entrées
    Par Rgent dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 09/03/2009, 14h18
  4. [debutant] test sur champ de formulaire vide
    Par eyango dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2006, 19h17
  5. un if en sql (Test sur champ NULL)
    Par vince_grenoblois dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/07/2006, 14h53

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