Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2011, 21h26   #1
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
Par défaut Erreur d'execution requète

Bonjour; j'ai la page mainpage.php dont voici un bout du code :
Code :
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
<?php
include("/Connections/connexion.php");
if (empty($category)) {
	$category=1;
}
$childval = $category;
//$catline[]="";
$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
$result = mysql_query($query);
if ($row=mysql_fetch_array($result)) {
	$catid[1]= $row["categoryid"];
	$catname[1]=$row["name"];
}
while (!($childval==0)) {
	$query = "select parentcategoryid from category where categoryid=\"".$childval."\"";
    $result = mysql_query($query);
    if ($row=mysql_fetch_array($result)) {
		$childval = $row["parentcategoryid"];
		$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
        $result = mysql_query($query);
		if ($row=mysql_fetch_array($result)) {
			$catid[1]= $row["categoryid"];
	        $catname[1]=$row["name"];
		}
	}
}
et quand je l'exécute j'ai l'erreur suivante dans le browser :
Citation:
Fatal error: Maximum execution time of 90 seconds exceeded in C:\Program Files\EasyPHP-5.3.2\www\Bukbuz\mainpage.php on line 27
la ligne 26 et 27 correspondent à :
Code php :
1
2
$query = "select parentcategoryid from category where categoryid=\"".$childval."\"";
    $result = mysql_query($query);

Ou est l'erreur svp??
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 22h04   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
moi j'opte pour une boucle infinie...à mon avis ton $childval n'est jamais égal à zero condition de sortie de ta boucle while.
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 22h09   #3
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
merci de m'avoir répondu; mais comment faire alors?
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 22h22   #4
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
pourquoi t'imbriques trois fois la même requete ?
et t'utilises tjs la même variable $childval qui une fois est la valeur du parent et une fois la valeur de l'enfant (je parle des catégories la)...j'arrive pas à voir ce que tu veux faire...
détail un peu plus ta table et ce que tu veux faire
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 22h38   #5
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
ben c'est simple; exemple de catégorie : Fiction est la catégorie père et dramatique, horror, ect se sont les catégories fils. c'est tout j'essai d'afficher la catégorie père avec ces sous catégories

alors une aide svp
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 22h46   #6
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
ok, donc c'est une table reflexive que tu as?
et tu veux afficher toute tes catégories et leurs sous catégories comme un menu, ou tu veux afficher une catégories en particulier?
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h06   #7
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
Oui on peut dire ça;


quelqu'un à une réponse svp à mon problème
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h13   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'es sur de ton : while (!($childval==0)) ?

fais un : ob_implicit_flush(true); au debut de ton code pour voir ce qui se passe au cas ou
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h37   #9
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
alors voilà j'ai fait ce que vous m'avez demandé :
Code :
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
<?php
ob_implicit_flush(true);
include("/Connections/connexion.php");
if (empty($category)) {
	$category=1;
}
$childval = $category;
//$catline[]="";
$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
$result = mysql_query($query);
if ($row=mysql_fetch_array($result)) {
	$catid[1]= $row["categoryid"];
	$catname[1]=$row["name"];
}
while (!($childval==0)) {
	$query = "select parentcategoryid from category where categoryid=\"".$childval."\"";
    $result = mysql_query($query);
    if ($row=mysql_fetch_array($result)) {
		$childval = $row["parentcategoryid"];
		$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
        $result = mysql_query($query);
		if ($row=mysql_fetch_array($result)) {
			$catid[1]= $row["categoryid"];
	        $catname[1]=$row["name"];
		}
	}
}
et voilà la réponse dans le browser :
Fatal error: Maximum execution time of 90 seconds exceeded in C:\Program Files\EasyPHP-5.3.2\www\Bukbuz\mainpage.php on line 28

ligne 27 et 28 :
Citation:
$query = "select parentcategoryid from category where categoryid=\"".$childval."\"";
$result = mysql_query($query);
càd : tjrs la meme erreur
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h46   #10
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Code :
$query = 'select parentcategoryid from category where categoryid="'.$childval.'"';
?
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h48   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
mais c'est sur ta une boule infinie, rajoute au passe un :
Code :
ini_set('mysql.trace_mode', true);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 16h59   #12
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
ou dois-je mettre ça svp?
Code php :
ini_set('mysql.trace_mode', true);
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h01   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par sulfuryblood Voir le message
ou dois-je mettre ça svp?
ini_set('mysql.trace_mode', true);
au début de ton code
mais bon avec ta boucle infinie on va pas voir grand chose, fait au moins un echo quelque part, mime plutôt dans ta boucle un petit

t'es vraiment sur qu'a un moment $childval vaut 0 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h08   #14
Invité de passage
 
Inscription : janvier 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 22
Points : 0
Points : 0
alors voilà j'ai fait ça :
Code :
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
<?php
ob_implicit_flush(true);
ini_set('mysql.trace_mode', true);
include("/Connections/connexion.php");
if (empty($category)) {
	$category=1;
}
$childval = $category;
//$catline[]="";
$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
$result = mysql_query($query);
if ($row=mysql_fetch_array($result)) {
	$catid[1]= $row["categoryid"];
	$catname[1]=$row["name"];
}
while (!($childval==0)) {
	var_dump($childval);
	$query = "select parentcategoryid from category where categoryid=\"".$childval."\"";
    $result = mysql_query($query);
    if ($row=mysql_fetch_array($result)) {
		$childval = $row["parentcategoryid"];
		$query = "select categoryid, name from category where categoryid=\"".$childval."\"";
        $result = mysql_query($query);
		if ($row=mysql_fetch_array($result)) {
			$catid[1]= $row["categoryid"];
	        $catname[1]=$row["name"];
		}
	}
}
et voilà le résultat :
j'ai toute la page rempli du message :
init(1)
sulfuryblood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h28   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
donc $childval vaut toujours 1, c'est de la que viens ta boucle infinie, revoie la logique de ton code
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web