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 :

if (isset()) boucle de verification sur array [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 27
    Par défaut if (isset()) boucle de verification sur array
    bonjour,

    dans le code suivant je vérifie l'existante de chaque ligne de mon tableau (limité à 10 lignes) de la façon suivante :

    Peut-on envisager un codage plus "économique" avec une boucle for par exemple ? (je ne maîtrise pas bien les boucles...)

    par avance merci

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?php 
     
    		global $con;
    		include_once 'config.php';
     
     
    // AFFFICHAGE DU TABLEAU DES SCORES	 
     
    	$req = "select * from diamant WHERE pseudo != 'solution' ORDER BY score DESC , varclic ASC LIMIT 0, 11";
     
      //--- Résultat ---//
      $res = $con->query($req);
      //met les données dans un tableau
      while($data = mysqli_fetch_assoc($res))
      {
       $tablo[]=$data;
      }
    	if(isset($tablo[0]['pseudo'])){
    	$pseudo0=$tablo[0]['pseudo'];
    	$score0=$tablo[0]['score'];
    	$clic0=$tablo[0]['varclic'];}
    	if(isset($tablo[1]['pseudo'])){	
    	$pseudo1=$tablo[1]['pseudo'];
    	$score1=$tablo[1]['score'];
    	$clic1=$tablo[1]['varclic'];}
    	if(isset($tablo[2]['pseudo'])){
    	$pseudo2=$tablo[2]['pseudo'];
    	$score2=$tablo[2]['score'];
    	$clic2=$tablo[2]['varclic'];}
    	if(isset($tablo[3]['pseudo'])){
    	$pseudo3=$tablo[3]['pseudo'];
    	$score3=$tablo[3]['score'];
    	$clic3=$tablo[3]['varclic'];}
    	if(isset($tablo[4]['pseudo'])){
    	$pseudo4=$tablo[4]['pseudo'];
    	$score4=$tablo[4]['score'];
    	$clic4=$tablo[4]['varclic'];}
    	if(isset($tablo[5]['pseudo'])){
    	$pseudo5=$tablo[5]['pseudo'];
    	$score5=$tablo[5]['score'];
    	$clic5=$tablo[5]['varclic'];}
    	if(isset($tablo[6]['pseudo'])){
    	$pseudo6=$tablo[6]['pseudo'];
    	$score6=$tablo[6]['score'];
    	$clic6=$tablo[6]['varclic'];}
    	if (isset($tablo[7]['pseudo'])){
    	$pseudo7=$tablo[7]['pseudo'];
    	$score7=$tablo[7]['score'];
    	$clic7=$tablo[7]['varclic'];}
    	if(isset($tablo[8]['pseudo'])){
    	$pseudo8=$tablo[8]['pseudo'];
    	$score8=$tablo[8]['score'];
    	$clic8=$tablo[8]['varclic'];}
    	if(isset($tablo[9]['pseudo'])){
    	$pseudo9=$tablo[9]['pseudo'];
    	$score9=$tablo[9]['score'];
    	$clic9=$tablo[9]['varclic'];}
     
    	echo "Pseudo : ". "$pseudo0" . ", score : " . "$score0" . ", Nombre de clics : " . "$clic0";
    	echo "<br>Pseudo : ". "$pseudo1" . ", score : " . "$score1" . ", Nombre de clics : " . "$clic1";
    	echo "<br> etc...";
     
    ?>

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    je t'invite à renommer ta variable globale $con qui désigne une connexion en $cnx
    Essaie comme ça :
    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
    global $con;
    include_once 'config.php';
     
    // échappement des caractères dangereux
    $hsc = function($p): string { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    // AFFFICHAGE DU TABLEAU DES SCORES
    $sql = "SELECT * FROM diamant WHERE pseudo != 'solution' ORDER BY score DESC, varclic ASC LIMIT 0, 11";
     
    //--- Résultat ---//
    $res  = $con->query($sql);
    $data = mysqli_fetch_all($res, MYSQLI_ASSOC);
    foreach ($data as $v) {
        echo <<<html
    Pseudo : {$hsc($v['pseudo'])}, score : {$hsc($v['score'])}, Nombre de clics : {$hsc($v['varclic'])}<br>
    html;
    }

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 27
    Par défaut
    Bonjour

    et merci de votre réponse
    cela fonctionne bien-sûr et surtout cela répond exactement à ce que je souhaitais.
    Je garde sous le coude ce petit bout de code qui me rendra certainement service à l'avenir ;-)

    j'ai modifié la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo <<<html
    Pseudo : {$hsc($v['pseudo'])}, score : {$hsc($v['score'])}, Nombre de clics : {$hsc($v['varclic'])}<br>
    html;
    que je ne comprenais pas bien en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo " Pseudo : {$hsc($v['pseudo'])}, score : {$hsc($v['score'])}, Nombre de clics : {$hsc($v['varclic'])}<br> ";
    Encore merci
    Cordialement

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    ça s'appelle notation heredoc et c'est vachement pratique : tiens un peu de lecture par ici

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 27
    Par défaut
    Au temps pour moi,

    Je découvre une nouvelle façon de faire. Je vais étudier ça ...

    Merci pour le lien

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

Discussions similaires

  1. boucle for sur array
    Par rebel29270 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/10/2011, 16h53
  2. [MySQL] Boucle sur array
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 11/12/2009, 11h32
  3. [PHP 5.1] FPDF boucle sur array
    Par arthuro45 dans le forum Langage
    Réponses: 4
    Dernier message: 21/10/2009, 20h08
  4. pb sur ARRAY
    Par heleneh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/09/2005, 09h58
  5. [JSP/WebSphere] Boucle de controle sur un FTP
    Par benben13 dans le forum Websphere
    Réponses: 10
    Dernier message: 30/08/2005, 16h18

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