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 :

Probleme pour trier et separer differentes données a partir d'une seule requete


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Probleme pour trier et separer differentes données a partir d'une seule requete
    Bonjour, voila j'aimerais a partir d'une requête sql pouvoir identifier les attaquants défenseurs et milieux et donc les séparer dans des parties différentes


    Voila mon 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
    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
    65
    66
    67
    68
    69
     
    <?php require_once('Connections/ConnexionMYSQL.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
     
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
     
    mysql_select_db($database_ConnexionMYSQL, $ConnexionMYSQL);
    $query_RsPlayer = "SELECT player.PLAYER_ID, player.PLAYER_FIRSTNAME, player.PLAYER_PHOTO, player.PLAYER_POSITION FROM player";
    $RsPlayer = mysql_query($query_RsPlayer, $ConnexionMYSQL) or die(mysql_error());
    $row_RsPlayer = mysql_fetch_assoc($RsPlayer);
    $totalRows_RsPlayer = mysql_num_rows($RsPlayer);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     </head>
     
    <body>
    	<ul>
     
    <?php do { ?>
     
    		<li>
     
                <img  src="images/players/<?php echo $row_RsPlayer['PLAYER_PHOTO']; ?>"/>
     
     
                    <header><br> <span style="font-size: 1.1em; font-weight:900;"><?php echo $row_RsPlayer['PLAYER_FIRSTNAME']; ?><br></span></header>
     
     
    		</li>
     
    <?php } while ($row_RsPlayer = mysql_fetch_assoc($RsPlayer)); ?>
    </ul>
     
    </body>
    </html>
    <?php
    mysql_free_result($RsPlayer);
    ?>
    La position des joueurs est contenu dans le champs PLAYER_POSITION
    Je suis debutant en php et je ne sais pas vraiment pas comment m'y prendre.

    Voila par exemple ce que j'aimerais obtenir :

    Gardien :

    riri
    roro

    Defenseurs :

    toto
    tata

    Milieux

    titi
    tutu

    Attaquants

    tete
    tote

    Si vous savez faire merci beaucoup !!!

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Une solution simple avec ORDER BY
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $query_RsPlayer = "SELECT player.PLAYER_ID, player.PLAYER_FIRSTNAME, player.PLAYER_PHOTO, player.PLAYER_POSITION FROM player ORDER BY PLAYER_POSITION";
    $RsPlayer = mysql_query($query_RsPlayer, $ConnexionMYSQL);
     
    $current_position = "";
    while ($row = mysql_fetch_assoc($RsPlayer)) {
    if ($row['PLAYER_POSITION'] != $current_position) {
       echo '<p>' . $row['PLAYER_POSITION'] . '</p>';
        $current_position = $row['PLAYER_POSITION'];
    }
    echo '<p>' . $row['PLAYER_FIRSTNAME'] . '</p>';
     
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Une solution simple avec ORDER BY
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $query_RsPlayer = "SELECT player.PLAYER_ID, player.PLAYER_FIRSTNAME, player.PLAYER_PHOTO, player.PLAYER_POSITION FROM player ORDER BY PLAYER_POSITION";
    $RsPlayer = mysql_query($query_RsPlayer, $ConnexionMYSQL);
     
    $current_position = "";
    while ($row = mysql_fetch_assoc($RsPlayer)) {
    if ($row['PLAYER_POSITION'] != $current_position) {
       echo '<p>' . $row['PLAYER_POSITION'] . '</p>';
        $current_position = $row['PLAYER_POSITION'];
    }
    echo '<p>' . $row['PLAYER_FIRSTNAME'] . '</p>';
     
    }
    Merci mais pas possible avec le order by , car il n'ont pas tous la meme denomination

    en gros les attaquants sont : bt,att,moc,ai
    les milieux sont : mc,mdc,mg,md
    les defenseurs : arg,dc,lib,ard

    donc ca serais plus une boucle qui verifierais la denomination et l'afficherais si c'est dans la bonne section mais je suis incapable de le faire.

  4. #4
    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 bonne méthode est d'avoir ces informations dans la bdd

    Une table position
    id position type
    1 Milieu gauche 2
    2 Arrière droit 3

    Une table type_position
    1 attaquant
    2 milieu
    3 défenseur

    Ta table joueur reprend alors l'id de la table position.

    La méthode sale est de traduire tes mc,mdc,mg,md, etc. en type de position dans le code PHP et d'utiliser un tableau PHP pour les ranger les joueurs lu dans la bdd par type.

Discussions similaires

  1. [XL-2010] pour trier et supprimer des données d'une feuille à une autre
    Par maharo1 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/04/2012, 23h43
  2. [XL-2000] Problème pour afficher la restitution de données de sql dans une feuille
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/02/2012, 18h46
  3. [XSL] Probleme pour "trier" mon XML
    Par kururin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/07/2008, 07h58
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h35
  5. Probleme pour créer un base de données...
    Par _matt_44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 03/06/2005, 14h36

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