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 :

Mettre une condition pour afficher une Image suivant le numéro correspondant


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut Mettre une condition pour afficher une Image suivant le numéro correspondant
    Bonjour.

    Comment mettre une condition en JavaScript pour afficher une Image par Numéro. Par exemple si le Numéro de l'utilisateur commence par le chiffre 1, l'image "1.jpg" doit être affiché; Si le Numéro de l'utilisateur commence par le chiffre 2, l'image "2.jpg" doit être affichée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $_SESSION['bk_user']['number']; ?>
    Alors, aidez-moi à résoudre mon problème en intégrant à ce Code PHP ci-dessus qui permet d'afficher le Numéro de l'Utilisateur, un Code JS pour afficher les Images selon le début du Numéro des Utilisateurs.

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 232
    Points : 15 525
    Points
    15 525
    Par défaut
    pour récupérer le 1er caractère, vous pouvez le faire en PHP avec cette fonction :
    http://php.net/mb_substr
    ou en JavaScript avec cette méthode :
    https://www.w3schools.com/jsref/jsref_substr.asp

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Problématique principalement php et pas javascript ...
    si la variable php est un string ... un string est un array


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<?php echo $_SESSION['bk_user']['number'][0]; ?>.jpg" />
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Grand merci SpaceFrog, mais il faut là une condition n'est-ce pas ???

    Le truc est qu'il y a plusieurs images à afficher en fonction du début de nombre. Pensez-vous que ce code seulement suffit alors qu'on voit bien que dans ce Code ci-dessus, vous n'avez pas précisé les conditions pour afficher chaque image dont les noms 1.jpg, 2.jpg, 3.jpg qui doivent s'afficher respectivement selon le début des nombres suivants: 1 pour afficher l'image 1.jpg, 2.jpg si le Numéro User commence par 2 et 3.jpg si le Numéro commence bien sûr par 3. Vous pensez que cela résout ce problème alors qu'il n'est pas précisé les noms des images à afficher (1.jpg, 2.jpg, 3.jpg) selon le début de chaque Numéro dont respectivement 1, 2 et 3 ????

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Une condition ?
    Convertir ton nombre en string ...

    ex:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nombre=123456;
    echo (" ".$nombre)[1];

    Dans ton cas de figure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="<?php echo " ".$_SESSION['bk_user']['number'][1]; ?>.jpg" />
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok merci à vous.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut Comment attribuer une valeur à une Variable en fonction du début des Caractères d'une autre Variable ?
    Bonjour à tous.

    Je reviens ce matin pour mieux exposé mon problème. Je l'ai peut-être exposé hier mais pas dans les détails ce qui fait que je ne suis pas totalement satisfait des réponses.
    Pour commencer voici mon Code PHP:

    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
    <?php
    function add()
    {
      	$num=$_POST["number"]; 
    	$name=$_POST["name"];
    
    //	Si le premier chiffre de $num est 4 alors
    //	$type=image1.jpg 
    //	Mais si les 2 premiers chiffres de $num sont 34 alors
    //	$type=image2.jpg
    //	Ou encore, si le premier chiffre de $num est 5 alors
    //	$type=image3.jpg
    
    	$errorMessage = '';
    	
    	$sql = "SELECT number FROM tbl_add WHERE number = '$num'";
    	$result = dbQuery($sql);
    	if (dbNumRows($result) == 1) {
    		$errorMessage = 'Ce numéro existe déjà';
    		return $errorMessage;
    	}
    	
            //now create a address table. 
    	$sql = "INSERT INTO tbl_add (id, number, name, type) 
    			VALUES ('', '$num', '$name', '$type')";
    	dbQuery($sql);
    
    //	Si l'utilisateur a déjà ajouté un (1)  numéro et qu'il souhaiterait ajouter un autre, afficher l'Erreur : "Impossile d'ajouter un nouveau numéro car vous avez déjà un qui est lié à votre Compte. Voulez-vous la modifier ? Si oui, Cliquer ici"
    //	Donc, limiter le nombre maximum de numéros à ajouter à 1.
    //	Mais si l'Utilisateur clique sur Le "lien pour modifier son numéro" ci-dessus, que ses informations fraîchement modifiées change automatiquement dans la BDD. 
    
    }
    
    ?>
    1- Voilà, au fait, je voulais attribuer une Valeur d'image (puisqu'il y a plusieurs images) à la variable $type en fonction du premier ou des 2 premiers chiffre(s) de la Valeur de la Variable $num comme je l'ai décrit en commentaires dans le Code PHP ci-dessus.

    2- Je voulais en deuxième lieu, limiter le nombre de Numéro à enregistrer par l'utilisateur à 1. Et donc, si l'utilisateur décide d'enregistrer un autre Numéro sur la même Page qui permet d'enregistrer les Numéro, qu'il reçoive l'erreur: "Impossible d'ajouter un nouveau numéro car vous avez déjà un qui est lié à votre Compte. Voulez-vous le modifier ? Si oui, Cliquer ici".

    3- Si l'Utilisateur clique sur Le "lien pour modifier le Numéro" (lien que je mettrai moi-même avec la Balise <a>), que ses informations fraîchement modifiées change automatiquement dans la BDD. Je sais qu'il est possible de modifier avec la Requête UPDATE SET mais le problème pour moi est comment réunir tous ces trois points ensemble pour répondre à mes besoins.

    Merci de m'aider.

  8. #8
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    le problème pour moi est comment réunir tous ces trois points ensemble
    Écrit chaque bout de code, la "réunion" se fera toute seule.

    Concernant le premier point, mathieu t'a indiqué d'utiliser mb_substr() pour lire le premier caractère. L'as-tu fais ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Écrit chaque bout de code, la "réunion" se fera toute seule.

    Concernant le premier point, mathieu t'a indiqué d'utiliser mb_substr() pour lire le premier caractère. L'as-tu fais ?
    Oui mais je suis vraiment confus en essayant. Voilà pourquoi je suis revenu vous soumettre mon souci. Sinon, voici ce que j'ai essayé en utilisant la fonction mb_substr() que Mathieu m'a conseillé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (mb_substr($num == 4)) {$type = image1.jpg;
    }
    else if (mb_substr($num == 34)) {$type = image2.jpg;
     
    }
    else (mb_substr($num == 4)) {$type = image3.jpg;
    }
    Pensez-vous que cela est correcte ??? Sinon corrigez-moi svp.
    NB: Mon but est d'attribuer une Valeur d'image (puisqu'il y a plusieurs images) à la variable $type en fonction du premier ou des 2 premiers chiffre(s) de la Valeur de la Variable $num comme je l'ai décrit en commentaires dans le Code PHP ci-dessus. C'est à dire:

    Si le premier chiffre de $num est 4 alors $type = image1.jpg
    Mais si les 2 premiers chiffres de $num sont 34 alors $type = image2.jpg
    Ou encore, si le premier chiffre de $num est 5 alors $type = image3.jpg


    Merci d'avance.

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si c'est du pseudo-code pour écrire le principe de ce que tu veux faire, c'est très bien.

    Si c'est censé être du code php correct, euh comment dire....
    En vrac :
    • mb_substr retourne une chaine, il vaut mieux faire les comparaisons avec une chaine (même si elle est censée contenir uniquement des chiffres) Sinon, tu risques les problèmes de conversion...
    • Vérifie tes parenthèses ! Il faut effectuer la comparaison par rapport au résultat de mb_subtr, pas appliquer mb_substr au résultat de la comparaison
    • image1.jpg n'est ni une variable, ni une constante, c'est une chaine. N'oublie pas les quotes !
    • elseest le mot clé qui indique "sinon", autrement dit, si tous les autres conditions précédentes ont échoué. Il n'accepte pas de condition. Si tu dois faire une condition, c'est un else if qu'il te faut
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par Celira Voir le message
    Si c'est du pseudo-code pour écrire le principe de ce que tu veux faire, c'est très bien.

    Si c'est censé être du code php correct, euh comment dire....
    En vrac :
    • mb_substr retourne une chaine, il vaut mieux faire les comparaisons avec une chaine (même si elle est censée contenir uniquement des chiffres) Sinon, tu risques les problèmes de conversion...
    • Vérifie tes parenthèses ! Il faut effectuer la comparaison par rapport au résultat de mb_subtr, pas appliquer mb_substr au résultat de la comparaison
    • image1.jpg n'est ni une variable, ni une constante, c'est une chaine. N'oublie pas les quotes !
    • elseest le mot clé qui indique "sinon", autrement dit, si tous les autres conditions précédentes ont échoué. Il n'accepte pas de condition. Si tu dois faire une condition, c'est un else if qu'il te faut
    Vraiment, je ne comprends plus rien. Ma tête chauffe. Croyez-moi.

  12. #12
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que cette partie est correcte pour toi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Est-ce que cette partie est correcte pour toi ?
    Non, seulement je continue de chercher comment j'allais donner les Valeurs d'images à la variable et voilà pourquoi. Sinon je reconnais que ce n'est pas correcte mais comment attribuer des Variables à $type c'est ce qui m'emmène a fait cela. Aidez-moi donc trouver comment permettre à $type d'avoir des Valeur d'image selon le Début des Numéros contenu dans la Variable $num.

    Merci d'avance

  14. #14
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    La question était pourtant simple.
    En PHP les chaines de caractères s'encadrent avec " ou '
    donc au choix :
    ou
    Il faut avancer pas à pas.
    La première étape c'est de récupérer la première lettre de $num.
    Est-ce que tu arrives à faire déjà cet étape ?
    La syntaxe est dans la documentation (bon il faut regarder au chapitre substr() plutôt que mb_substr() mais ça fonctionne pareil) :
    http://php.net/manual/fr/function.substr.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Aahhhh Oui. Ça m'a échapper. Vraiment. Encore merci Sabotage de m'avoir rappelé. Pas seulement en PHP mais aussi en C++. Les Variables de type string sont toujours entre Quote (' '). Bon je vais continuer mes recherches comme tu me l'as conseillé. Encore merci.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/04/2017, 22h57
  2. Mettre une condition pour eviter une erreur
    Par hortencia dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/02/2012, 13h00
  3. Activer une QScrollArea pour afficher une image
    Par snake264 dans le forum Qt
    Réponses: 5
    Dernier message: 25/04/2011, 18h02
  4. PHP/FLASH récupérer une variable pour afficher une image dans un clip
    Par Touillette85 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/12/2008, 10h02
  5. Réponses: 3
    Dernier message: 03/11/2007, 21h47

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