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 :

[Tableaux] Extraction de donnée ds un tab multidimensions/utilisation


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut [Tableaux] Extraction de donnée ds un tab multidimensions/utilisation
    Voici mon problème ...

    J'execute une Requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	$req_nom_players = mysql_query("SELECT id, pseudo FROM players WHERE activate = 1");
    	$nom_players = mysql_fetch_row($req_nom_players);
    1- Deja je souhaiterai placer tous mes resultats dans un tableau comme dans mysql ... :


    2- Ensuite je souhaiterai associé les nom de joueurs par rapport a une seconde requete :

    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
    	$req = mysql_query("SELECT nom, players FROM planetes WHERE zone = ".$_GET["zone"]."");
    	if(mysql_num_rows($req) != 0)
    	{
    		while (list($nom, $players) = mysql_fetch_row($req))
    		{
    			if($players == 0 || $players == 1)
    				$color = "#9E6209"; //Défaut
    			elseif($players >= 2000000000)
    				$color = "#FF0000"; //Républicain
    			elseif($players >= 1000000000)
    				$color = "#0000FF"; //Fédération
     
    			echo("<font style=\"font-family: Verdana; font-size: 11px; color: ".$color.";\">$nom</font><br>");
    		}
    	}
    	else echo("");
    J'aimerai que suivant la valeur de $players on aille chercher le nom de joueur dans le tableau precedent ... et afficher le resultat dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo("<font style=\"font-family: Verdana; font-size: 11px; color: ".$color.";\">$nom</font><br>");
    J'ai regarder dans la FAQ MySql et aussi dans les tuto mais j'ai rien trouver pour solutionner mon premier probleme ... et le second donc par la meme occasion
    (je pensais a une fonction ...)

    ceci est afin de limiter la charge serveur car bien sur je pourait faire un requete pour chaque planetes mais bon quand on en a 435 et que la page doit etre afficher des milliers de fois par mois

    l'exemple de ce que ça donne pour le moment : http://game.derniere-bataille.net/tests.php

    merci pour votre soutient et aide

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 311
    Points : 15 645
    Points
    15 645
    Par défaut Re: Extraction de donnée ds un tab multidimensions/utilisati
    1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // j'ai ajouté une gestion des erreurs pour ta requête
    $req_nom_players = mysql_query('SELECT id, pseudo FROM players WHERE activate = 1') or exit(mysql_error());
    $nom_players = mysql_fetch_row($req_nom_players);
     
    // création du tableau
    $listePseudo = array();
     
    while ($ligne = mysql_fetch_assoc($nom_players)) {
        $listePseudo[] = $ligne;
    }
     
    // libération des ressources
    mysql_free($nom_players);
    regarde la page suivante pour plus d'informations sur l'utilsiation des tableaux :
    http://php.net/language.types.array

    2.
    Citation Envoyé par dark_vidor
    J'aimerai que suivant la valeur de $players on aille chercher le nom de joueur dans le tableau precedent ... et afficher le resultat dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo("<font style=\"font-family: Verdana; font-size: 11px; color: ".$color.";\">$nom</font><br>");
    ce code ne fonctionne pas ?

    Citation Envoyé par dark_vidor
    ceci est afin de limiter la charge serveur car bien sur je pourait faire un requete pour chaque planetes mais bon quand on en a 435 et que la page doit etre afficher des milliers de fois par mois
    si tu n'as pas beacoup de modification je te conseille un système de cache : tu génére la page html dès qu'il y a une modification et comme ça tu n'as pas besoin de générer le code à chaque demande d'affichage

  3. #3
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    la solution

    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
      $req_tab_players = mysql_query("SELECT id, pseudo FROM players WHERE activate = 1 AND id != 1000000000 AND id != 2000000000 AND id != 1");
      while($tmp_players = mysql_fetch_assoc($req_tab_players))
      {
    	$tab_players[$tmp_players['id']] = "[".$tmp_players['pseudo']."]";
      } 
     
      $sql = "SELECT id, nom, players FROM planetes ORDER BY nom";
      $req = mysql_query($sql);
      if (mysql_num_rows($req)==0) echo("Erreur !");
      else
      {
        while (list($value, $nom, $players) = mysql_fetch_row($req))
        {
    			if($players == 0 || $players == 1)
    				$color = "#9E6209"; //Défaut
    			elseif($players > 2000000000)
    				$color = "#FF0000"; //Républicain
    			elseif($players == 2000000000 && $_SESSION['team']==1)
    				$color = "#9E6209"; //Contrebandiers Pro-Républicain
    			elseif($players == 2000000000 && $_SESSION['team']==2)
    				$color = "#FF6600"; //Contrebandiers Pro-Républicain
    			elseif($players > 1000000000)
    				$color = "#0000FF"; //Fédération
    			elseif($players == 1000000000 && $_SESSION['team']==1)
    				$color = "#0066FF"; //Contrebandiers Pro-Fédération
    			elseif($players == 1000000000 && $_SESSION['team']==2)
    				$color = "#9E6209"; //Contrebandiers Pro-Fédération
     
    	  echo("<option value=$value");
    	  if ($_POST["destination"] == $value) echo(" selected");
    	  echo(" style=\"color: ".$color.";\">$nom ".$tab_players[$players]."</option>");
    voila voila ^^

    pour la mise en cache j'y pense ... parce que c'est vraiment interressant faut que j'etudie le fonctionnement

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

Discussions similaires

  1. [MySQL] Extraction des données dans plusieurs tableaux
    Par mayradouane dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/12/2013, 19h05
  2. [XL-2003] Créer des tableaux par extraction de données sur un tableau principal
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/09/2011, 14h17
  3. [Tableaux] Extraction de données avec cURL
    Par mrsoyer dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2009, 14h16
  4. [Tableaux] Extraction de données dans 'array'
    Par soshin dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2007, 13h51
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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