+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    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'];
     
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 769
    Points : 1 379
    Points
    1 379

    Par défaut

    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.

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    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'];
     
    }

  4. #4
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 769
    Points : 1 379
    Points
    1 379

    Par défaut

    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.

  5. #5
    Invité de passage
    Homme Profil pro
    Inscrit en
    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

  6. #6
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 769
    Points : 1 379
    Points
    1 379

    Par défaut

    cette ligne la :
    Code :
    while ($row =@mysql_fetch_array($mysqlQuery,MYSQL_ASSOC))
    supprime le @.

  7. #7
    Invité de passage
    Homme Profil pro
    Inscrit en
    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>";
    	?>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    21 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 587
    Points : 31 457
    Points
    31 457

    Par défaut

    tout "mysql_" est obsolète.
    Tu peux remplacer par les fonctions "mysqli_" qui fonctionnent quasiment avec la même syntaxe.

  9. #9
    Invité de passage
    Homme Profil pro
    Inscrit en
    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.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •