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 SQL Discussion :

Requetes imbriquées dans des while -> rationnalisation


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Requetes imbriquées dans des while -> rationnalisation
    Salut tout le monde ,

    Voila ca va faire 2 ans que je bosse sur un module tournoi automatisé , et a force de rajouter des fonctions je me retrouve a 300 requetes par page et par visiteur mais bon ca focntionne au poil .

    Le probleme etant que je renomme mes resultats de requetes sous la forme de ${'mavar_'.$VAR.'txt'} . Donc je sais pas trop par ou attaqué . Si vous aviez des pistes .

    J'ai joint la partie du code en question ( 300 lignes sur 1200 ) .

    Merci d'avance pour vos conseils.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Quel est votre probleme ??? un pb de requete SQL ??

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Le probleme : aucun le script fonctionne.

    mais j'ai des requetes dans d'autres requetes qui genere des variables variables (voir en haut ) et ca en une requete je vois pas comment le faire ?

    D'ou une demande de voie de recherche .

    C'est pour generer des tableaux de tournois de 4 a 32 joueurs et le code en piece jointe , c'est le listage en tirant de 4 tables differentes tout imbriqué.


    http://cyklodev.com/index.php?mod=to...int_tournoi=18


    Un sac de noeuds quoi.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bon apres plusieurs recherches et essais j'ai trouve ma solution que je vous post et je renomme mon topic du coup.

    Merci quand meme. Voici l'ancien code : generant 7 requetes

    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
    $sqls = "SELECT * FROM tournoi_param WHERE id_tournoi=$id_tour";
    $result = reqmysql ($sqls);
    while ($donnees = @mysql_fetch_array ($result, MYSQL_ASSOC))
    {
    	$num_tournoi = $donnees['id_tournoi'];
    	$name_tournoi = $donnees['nom_tournoi'];
    	$metaconf = $donnees['metaconf'];
    	$nbr_participants = $donnees['participants'];
    	$prix1 = $donnees['prix1'];
    	$prix2 = $donnees['prix2'];
    	$prix3 = $donnees['prix3'];
    	$prix4 = $donnees['prix4'];
    	$lestatus = $donnees['t_status'];
    	for ($bli==1 ; $bli <5 ; $bli++)
    	{
    		${'P'.$bli.''} = $donnees['P'.$bli.''];
    		$sqlT = "SELECT * FROM tournoi_parcours WHERE id_parcour='".${'P'.$bli.''}."'";
    		$resultaT = reqmysql ($sqlT);
           		while ($Parc = mysql_fetch_array ($resultaT, MYSQL_ASSOC)) 
    		{
    			${'N'.$bli.''} = $Parc['nom_parcour'];	
    			${'Y'.$bli.''} = $Parc['lien_parc'];	
    			${'E'.$bli.''} = $Parc['zvar2'];		
    			${'R'.$bli.''} = $Parc['zvar3'];					
    		}
    	}
    }
    ////////////////////////////////////////////////////////////////////////////////////////
    /////// FIN - Recuperation des donnees du tournoi    ////////					
    ///////////////////////////////////////////////////////////////////////////////////////
    // Recuperation de la metaconf du tournoi 
    $requete2=reqmysql("SELECT * FROM tournoi_meta WHERE id_meta='$metaconf'");
    while ($donnees = mysql_fetch_array ($requete2, MYSQL_ASSOC))
    {
    	$meta_aff = $donnees['aff_stat'];
    	$meta_id = $donnees['id_meta'];
    	$meta_signe = $donnees['l_signe'];
    	$meta_grp = $donnees['groupe_id'];
    	$meta_nbvar= $donnees['nb_var'];
    	$meta_var1 = $donnees['nm_var1'];
    	$meta_var2 = $donnees['nm_var2'];
    	$meta_stat = $donnees['aff_stat'];
    	$metanom = $donnees['nom_meta'];
    	$equipe = $donnees['equipe_meta'];
    }
    Et le nouveau en une seule :

    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
    $sqls = "SELECT id_tournoi, nom_tournoi, metaconf, participants, prix1, prix2, prix3, prix4, t_status, P1, P2, P3, P4, P5 , 
    tournoi_meta.aff_stat , tournoi_meta.id_meta , tournoi_meta.l_signe , tournoi_meta.groupe_id , tournoi_meta.groupe_id , tournoi_meta.nb_var , tournoi_meta.nm_var1 , tournoi_meta.nm_var2 , tournoi_meta.nom_meta , tournoi_meta.equipe_meta ,
    TR1.nom_parcour AS N1 , 
    TR1.lien_parc AS Y1 ,
    TR1.zvar2 AS E1 ,
    TR1.zvar3 AS R1 ,
    TR2.nom_parcour AS N2 , 
    TR2.lien_parc AS Y2 ,
    TR2.zvar2 AS E2 ,
    TR2.zvar3 AS R2 ,
    TR3.nom_parcour AS N3 , 
    TR3.lien_parc AS Y3 ,
    TR3.zvar2 AS E3 ,
    TR3.zvar3 AS R3 ,
    TR4.nom_parcour AS N4 , 
    TR4.lien_parc AS Y4 ,
    TR4.zvar2 AS E4 ,
    TR4.zvar3 AS R4 ,
    TR5.nom_parcour AS N5 , 
    TR5.lien_parc AS Y5 ,
    TR5.zvar2 AS E5 ,
    TR5.zvar3 AS R5
    FROM tournoi_param
    LEFT JOIN  tournoi_parcours AS TR1 ON  tournoi_param.P1=TR1.id_parcour
    LEFT JOIN  tournoi_parcours AS TR2 ON  tournoi_param.P2=TR2.id_parcour
    LEFT JOIN  tournoi_parcours AS TR3 ON  tournoi_param.P3=TR3.id_parcour
    LEFT JOIN  tournoi_parcours AS TR4 ON  tournoi_param.P4=TR4.id_parcour
    LEFT JOIN  tournoi_parcours AS TR5 ON  tournoi_param.P5=TR5.id_parcour
    LEFT JOIN  tournoi_meta ON tournoi_param.metaconf=tournoi_meta.id_meta
    WHERE id_tournoi=$id_tour";
    $result = reqmysql ($sqls);
    while ($donnees = @mysql_fetch_array ($result, MYSQL_ASSOC))
    {
    	$num_tournoi = $donnees['id_tournoi'];
    	$name_tournoi = $donnees['nom_tournoi'];
    	$metaconf = $donnees['metaconf'];
    	$nbr_participants = $donnees['participants'];
    	$prix1 = $donnees['prix1'];
    	$prix2 = $donnees['prix2'];
    	$prix3 = $donnees['prix3'];
    	$prix4 = $donnees['prix4'];
    	$lestatus = $donnees['t_status'];
    	for ($bli==1 ; $bli <5 ; $bli++)
    	{
    		${'P'.$bli.''} = $donnees['P'.$bli.''];
    		${'N'.$bli.''} = $donnees['N'.$bli.''];	
    		${'Y'.$bli.''} = $donnees['Y'.$bli.''];	
    		${'E'.$bli.''} = $donnees['E'.$bli.''];		
    		${'R'.$bli.''} = $donnees['R'.$bli.''];	
    	}
    	$meta_aff = $donnees['aff_stat'];
    	$meta_id = $donnees['id_meta'];
    	$meta_signe = $donnees['l_signe'];
    	$meta_grp = $donnees['groupe_id'];
    	$meta_nbvar= $donnees['nb_var'];
    	$meta_var1 = $donnees['nm_var1'];
    	$meta_var2 = $donnees['nm_var2'];
    	$meta_stat = $donnees['aff_stat'];
    	$metanom = $donnees['nom_meta'];
    	$equipe = $donnees['equipe_meta'];
    }

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/06/2009, 12h15
  2. Requetes imbriquées dans iReport
    Par yaya0057 dans le forum Jasper
    Réponses: 1
    Dernier message: 24/03/2009, 17h25
  3. requetes encapsuler dans des vue(Perf?)
    Par Mehdilis dans le forum Oracle
    Réponses: 8
    Dernier message: 05/03/2007, 08h48
  4. Requete SQL dans boucle while
    Par vince_grenoblois dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 04/08/2006, 20h41
  5. Réponses: 2
    Dernier message: 11/01/2006, 15h49

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