Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/01/2013, 00h34   #1
alexb66
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2012
Messages : 6
Points : 2
Points : 2
Par défaut Probleme requete d extraction de donnees

Bonjour
je ne parviens pas a extraire des donnees de ma BDD pour creer un graphique via jpgraph .
Apres avoir fouille sur le forum je ne vois pas le probleme, quelqu un peut il m aider ?
J obtiens toujours le message parse error a la ligne
Code :
	$tableaut_int[] =$row['t_interieur'];
Voici mon 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
27
28
29
$tableaut_int = array();
 
 
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
 
$sql = <<<EOF
	SELECT  
		t_interieur,t_exterieur FROM 'aktuell' 
	EOF;
 
// Connexion à la BDD
 
$mysqlCnx=mysql_connect($host,$user,$password)
or die("connexion au serveur impossible");
// Sélection de la base de données
@mysql_select_db("meteo") or die('Pb de sélection de la base');
 
// Requête
$mysqlQuery =@mysql_query($sql,$mysqlCnx) or die('Pb de requete');
 
// Fetch sur chaque enregistrement
while ($row = mysql_fetch_array($mysqlQuery,MYSQL_ASSOC))
 {
	// Alimentation des tableaux de données
	$tableaut_int[] =$row['t_interieur'];
 
}
alexb66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 01h00   #2
Exia93
Membre Expert
 
Homme
Étudiant
Inscription : avril 2012
Messages : 635
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 635
Points : 1 118
Points : 1 118
Bonsoir,

plusieurs choses,

l'API mysql_ est obsolète et être sera supprimer des prochaines versions de PHP, pour les nouveaux site il vaut mieux se tourner vers les APIs mysqli_ ou PDO,

tu cache les éventuelles erreur avec le caractère spécial '@', si tu ne l'utilisait pas l'erreur s'afficherait peut-être d'elle même sur ta page,

à la ligne 10 tu utilise les caractères '' pour entourer le nom de la table, l'erreur vient peut être de la, il faut soit utiliser les caractères ``(Alt GR + 7) soit ne pas les utiliser, ces caractères sont utilent seulement si tu utilise les noms réservés de MySQL comme une colonne que tu nommerait date ou autre.
Exia93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 15h57   #3
alexb66
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2012
Messages : 6
Points : 2
Points : 2
Par défaut Re

Bonjour
merci de ta reponse.
J ai fait les modif que tu m as suggere mais ca ne change rien .
J ai toujours cette erreur:
Parse error: syntax error, unexpected ']', s'attendant T_STRING ou T_VARIABLE ou T_NUM_STRING dans C: \ wamp \ www \ Météo \ jpgraph \ src \ Exemples \ Sanstitre-1.php sur la ligne 40

Peut tu m expliquer comment faire sur la base de la nouvelle typologie ?
Je dois simplement recuperer la temperature interieure et exterieure de ma table aktuell correspondant aux heures pleines pour ensuite les inserer dans un graphique avec jpgraph .
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
 
$tableaut_int = array();
 
 
// ma selection des enregistrements
 
$sql = <<<EOF
	SELECT  
		t_interieur,t_exterieur FROM aktuell
	EOF;
 
// Connexion à la BDD
// $host $user $ password definis dans un fichier a part et appele par un include
$mysqlCnx=mysql_connect($host,$user,$password)
or die("connexion au serveur impossible");
 
// Sélection de la base de données
mysql_select_db("meteo") or die('Pb de sélection de la base');
 
// Requête
$mysqlQuery =@mysql_query($sql,$mysqlCnx) or die('Pb de requete');
 
// Fetch sur chaque enregistrement <-- c est ici que je me perds 
while ($row =@mysql_fetch_array($mysqlQuery,MYSQL_ASSOC))
 {
	// Alimentation des tableaux de données
	$tableaut_int[]=$row['t_interieur'];
 
}
alexb66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 16h14   #4
Exia93
Membre Expert
 
Homme
Étudiant
Inscription : avril 2012
Messages : 635
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 635
Points : 1 118
Points : 1 118
Dans ton erreur il parle de la ligne 40, à quoi correspond la ligne 40 dans le code que montre ?

Essaye en enlevant le @ à la ligne 24.
Exia93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 17h52   #5
alexb66
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2012
Messages : 6
Points : 2
Points : 2
Par défaut Re

J ai enlevé le @ sur la ligne
Code :
$mysqlQuery =mysql_query($sql,$mysqlCnx) or die('Pb de requete');
ca ne modifie rien .
La ligne 40 correspond a:
Code :
$tableaut_int[]=$row['t_interieur'];
Le message erreur est :
Parse error: syntax error, unexpected ']', s'attendant T_STRING ou T_VARIABLE ou T_NUM_STRING dans C: \ wamp \ www \ Météo \ jpgraph \ src \ Exemples \ Sanstitre-1.php sur la ligne 40
alexb66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 17h57   #6
Exia93
Membre Expert
 
Homme
Étudiant
Inscription : avril 2012
Messages : 635
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 635
Points : 1 118
Points : 1 118
cette ligne la :
Code :
while ($row =@mysql_fetch_array($mysqlQuery,MYSQL_ASSOC))
supprime le @.
Exia93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 18h41   #7
alexb66
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2012
Messages : 6
Points : 2
Points : 2
Par défaut RE

Re
Je ne comprenais pas le code de la requete, du coup je l ai refaite sous une autre forme qui m apparait plus claire .
je te livre ce que cela donne en entier : ca fonctionne en plus alors tout va bien.
Peut tu simplement me dire si cette facon d ecrire est obsolette?
Si oui il faudra que je tente de modifier cet exemple .
Merci
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
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
 $connection=mysql_connect($host,$user,$password) or die("connexion au serveur impossible :trunk données aktuelles");
  mysql_select_db("meteo"); 
/* REQUETE DE SELECTION DES DONNEES DANS LA BASE DE DONNEES MYSQL*/
 
	$sql = 'SELECT t_interieur,t_exterieur, pluie ,hum_exterieur, pression, force_vent  FROM aktuell ';
 
	print_r(mysql_error());
	$req = mysql_query($sql);
 
	while ( ($data = mysql_fetch_assoc($req))!== false) {
		$V1[] = $data['pluie'];
		$V2[] = $data['t_exterieur'];
		$V3[] = $data['hum_exterieur'];
		$V4[] = $data['pression'];
		$V5[] = $data['force_vent'];
		$V6[] = $data['t_interieur'];
 
	}
 
 
 
 
$ydata=array( 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23);
 /* Activation des bibliotheques */
	require_once ('jpgraph/jpgraph.php');
	require_once ('jpgraph/jpgraph_line.php');
	require_once("jpgraph/jpgraph_date.php");
	require_once ('jpgraph/jpgraph_bar.php');
	// constitution du graphique taille 500 pixels par 500 pixels
	$graph = new Graph(500,500);
	$graph->SetScale("textlin");
 	$graph->img->SetMargin(40,20,20,40);
	$graph->title->Set('Evolution de la journee');
	 $graph->xaxis->SetTickLabels($ydata);	/* l'axe du bas   */ 
	$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,6);
	$graph->xgrid->SetColor('#E3E3E3');
	// Les lignes qui vont apparaitre dans le graphique 
 
	$p1 = new LinePlot($V2);
	$graph->Add($p1);
	$p1->SetColor("#38FFFF");
	$p1->SetLegend('Temperature exterieure');
 
 
	$p1 = new LinePlot($V6);
	$graph->Add($p1);
	$p1->SetColor("#3019FF");
	$p1->SetLegend('Temperature interieure');
	$graph->legend->SetFrameWeight(1);
 
	// Output line
	$graph->Stroke();
	echo "<center><img src='graph.png' /></center>";
	?>
alexb66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 18h58   #8
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
tout "mysql_" est obsolète.
Tu peux remplacer par les fonctions "mysqli_" qui fonctionnent quasiment avec la même syntaxe.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 19h06   #9
alexb66
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2012
Messages : 6
Points : 2
Points : 2
Par défaut Re

Je te remercie, je vais essayer.
alexb66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h46.


 
 
 
 
Partenaires

Hébergement Web