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 :

Requète trop lourde qui me fait planter mon chargement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut Requète trop lourde qui me fait planter mon chargement
    Bonjour tous le monde j'ai un problème au niveau de ma ou de mes requètes.
    En effet quand je charge ma page cela ne me là charge pas;

    Voici 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
    if($Produit == "PMA_NF2"){
    		$req_produit = "SELECT nom_societe, nom_HCEE, N_Admission_Marque, Date_Admission, Date_De_MAJ_FT, Annee_Essai, Designation_1, Nature, Duree_De_Vie FROM societe, `produit_NF` WHERE `Nom_Produit` ='PMA_NF2' AND `Num_Etat`='1' AND numsociete = Num_Societe ORDER BY Tableau ASC, nom_societe ASC, N_Admission_Marque_NF ASC";
    		$result_produit = execute_mysql($req_produit, $dbhost, $dbuser, $dbpwd, $dbname);
    	while ($affiche_pma = mysql_fetch_array($result_produit)){
    			$Date_Admission = $affiche_pma['Date_Admission'];
    			$Date_Admission = substr($Date_Admission, 0, -5);
    			$Date_De_MAJ_FT = $affiche_pma['Date_De_MAJ_FT'];
    			$Date_De_MAJ_FT = substr($Date_De_MAJ_FT, 0, -5);
    			$req_site_prod = "SELECT Nom_Site_Production
    							  FROM site_prod
    							  WHERE num_admission = '".$affiche_pma['N_Admission_Marque']."'";
    			$result_site_prod = execute_mysql( $req_site_prod, $dbhost, $dbuser, $dbpwd, $dbname );
     
    			echo "<tr><td>".$Date_Admission."</td>
    			 <td>".$Date_De_MAJ_FT."</td>
    			<td>".$affiche_pma['N_Admission_Marque']."</td>
    			<td>".$affiche_pma['Designation_1']." </td>
    			<td>".$affiche_pma['nom_HCEE']." </td>
    			<td>".$affiche_pma['Nature']."</td>
    			<td>".$affiche_pma['nom_societe']."</td>
    			<td>"; 
    			while ($site_prod = mysql_fetch_row($result_site_prod)){
    					echo $site_prod[0];
    					}
    			echo "</td>
    			<td>".$affiche_pma['Duree_De_Vie']."</td></tr>";}
    Le bug vient de ma deuxième boucle car quand je la retire la page ce charge bien

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,


    juste une question, pourquoi fournis-tu les paramètres de connexions à la fct° execute_mysql())? tu ne dois qd même pas te reconnecter à chaque requête..

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Salut.

    Notre application est comme sa va me demander pourquoi ?
    On va rechercher nos infos la dedans :s

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    et si tu utilises le simple mysql_query(), ca ne marche pas mieux? elle me semble bizarre cette fonction execute_mysql()..

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Nan toujours pasreil

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    et en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while ($site_prod = mysql_fetch_row($result_site_prod)){
    					echo $site_prod[0];
    					}
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mysql_result ($result_site_prod, 0);
    comme ça plus de 2° boucle

    et je pense pas que le problème vienne de la lourdeur des requêtes, surtout si la première fonctionne bien tte seule.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Nan toujours pas
    Et pourquoi alors la même requête fonctionne pour un autre type de produit (qui n'a que 2 pages) et celui là qui en à 28 bloque.
    En faite mon problème c'est que quand je clique sur mon bouton visualiser cela m'ouvre une fenêtre de téléchargement pour enregistrer le fichier appeler.
    Enfin quand je clique sur ce même bouton visualiser c'est pour me créer de page PDF via HTML2PDF.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    je t'ai dis ça parce que si ça fonctionne sans la 2° boucle, je ne vois pas en quoi rajouter une requête qui te retourne un enregistrement va alourdir le processus..

    et qd tu utilises html2pdf, tu convertis la page directement en pdf? si oui essaie de l'afficher d'abord en html pour voir si c'est la requête ou html2pdf.. une idée comme, ça parce que je vois pas trop d'où ça peut venir..

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Voici le code qui fonctionne pour un autre produit

    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
    if($Produit == "PAN"){
    		//Sélection des produit PAN
    		$req_pan = "SELECT *
    					FROM societe, produit_NF
    					WHERE TP = '1'
    					AND Nom_Produit = '".$Produit."'
    					AND Num_Etat = '".$Etat."'
    					AND numsociete = Num_Societe
    					ORDER BY Categorie ASC, nom_societe ASC";
    		$result_pan = execute_mysql( $req_pan, $dbhost, $dbuser, $dbpwd, $dbname );
    		$resultat_pan = mysql_fetch_array ($result_pan);
    		$Designation = $resultat_pan['Designation'];
     
    $cat = "";
    		while ($affiche_pan = mysql_fetch_array($result_pan)){
    			$Date_Admission = $affiche_pan['Date_Admission'];
    			$Date_Admission = substr($Date_Admission, 0, -5);
    			$Date_De_MAJ_FT = $affiche_pan['Date_De_MAJ_FT'];
    			$Date_De_MAJ_FT = substr($Date_De_MAJ_FT, 0, -5);
    			$req_site_prod = "SELECT Nom_Site_Production
    							  FROM site_prod
    							  WHERE num_admission = '".$affiche_pan['N_Admission_Marque_NF']."'";
    			$result_site_prod = execute_mysql( $req_site_prod, $dbhost, $dbuser, $dbpwd, $dbname );
     
     
     
    			//TEST QUI NOUS PERMET D'AFFICHER LA CATEGORIE
    			if ( $cat == $affiche_pan['Categorie'] )
    			{
    			  echo '<tr>
    						<td style="border-bottom: solid 1px grey; width: 15%; height: 90px; font-size: 12px;">'.$affiche_pan['nom_societe'].'</td>
    						<td style="border-bottom: solid 1px grey; width: 10%; height: 90px; font-size: 12px;">'.$affiche_pan['nom_HCEE'].'</td>
    						<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$affiche_pan['N_Admission_Marque_NF'].'</td>
    						<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$Date_Admission.'</td>
    						<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$Date_De_MAJ_FT.'</td>
    						<td style="border-bottom: solid 1px grey; width: 20%; height: 90px; font-size: 10px;">';
    					while ($site_prod = mysql_fetch_row($result_site_prod)){
    					echo $site_prod[0].", ";
    					}
    					echo '</td>
    						<td style="border-bottom: solid 1px grey; width: 31%; height: 90px; font-size: 12px;">'.$affiche_pan['Materiau'].'</td>
    					</tr>';
    			}
    			else 
    			{
    				$cat = $affiche_pan['Categorie'];
    				echo '
    				<tr>
    					<td style="font-size: 12px; background-color: #E2DEE2;"><b><i>'.$affiche_pan['Categorie'].'<br></i></b></td>
    				</tr>
     
    				<tr>
    					<td style="border-bottom: solid 1px grey; width: 15%; height: 90px; font-size: 12px;">'.$affiche_pan['nom_societe'].'</td>
    					<td style="border-bottom: solid 1px grey; width: 10%; height: 90px; font-size: 12px;">'.$affiche_pan['nom_HCEE'].'</td>
    					<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$affiche_pan['N_Admission_Marque_NF'].'</td>
    					<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$Date_Admission.'</td>
    					<td style="border-bottom: solid 1px grey; width: 8%; height: 90px; font-size: 12px;">'.$Date_De_MAJ_FT.'</td>
    					<td style="border-bottom: solid 1px grey; width: 20%; height: 90px; font-size: 10px;">';
    					while ($site_prod = mysql_fetch_row($result_site_prod)){
    					echo $site_prod[0].", ";
    					}
    					echo '</td>
    					<td style="border-bottom: solid 1px grey; width: 31%; height: 90px; font-size: 12px;">'.$affiche_pan['Materiau'].'</td>
    				</tr>';
    			}
    }
    		}

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Double Post pour dire que c'était bien un problème de ressource l'administrateur du réseau a augmenter la taille de PHP sur le serveur et sa fonctionne
    Merci quand même pour votre aide

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

Discussions similaires

  1. [Débutant] FileSystemWatcher: Chemin d'accès trop long fait planter mon programme.
    Par BasicZX81 dans le forum VB.NET
    Réponses: 6
    Dernier message: 18/06/2015, 19h24
  2. Réponses: 6
    Dernier message: 29/07/2010, 10h49
  3. comment trouver ce qui fait planter mon VS ?
    Par gorgonite dans le forum Visual Studio Team System
    Réponses: 3
    Dernier message: 03/06/2008, 23h40
  4. Thème qui a fait planter WinXP Pro
    Par lechewal dans le forum Windows XP
    Réponses: 2
    Dernier message: 13/02/2006, 09h23
  5. fonction qui en fait planter une autre
    Par ickis dans le forum C
    Réponses: 5
    Dernier message: 18/08/2003, 21h33

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