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

Intégrer le contenu d'une autre page dans ma page principale


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 480
    Par défaut Intégrer le contenu d'une autre page dans ma page principale
    Bonjour,

    J'ai ma page principale 'index.php' dans laquelle j'ai une combobox. Avec cette combobox, je choisi ce que je veux récupérer dans ma base de données.

    Mon problème est que je n'arrive pas à afficher correctement un graphique dans ma page principale (alors qu'il fonctionne très bien dans une page à part).

    Ci-joint mon code:

    -Ma page principale:
    Code html : 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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <?php
    include 'lib\dbConfig.php';
    date_default_timezone_set('europe/paris');
     
    ?>
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    		<meta name="viewport" content="width=device-width, initial-scale=1">
    		<title></title>
    		<link rel="stylesheet" href="css/bootstrap.min.css">
    		<script src="js/3.3.1/jquery.min.js"></script>
    		<script src="js/3.3.7/bootstrap.min.js"></script>
    		<link href="css/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    		<script src="js/highcharts/highcharts.js"></script>
    		<script src="js/highcharts/highcharts-more.js"></script>
    		<style>body{font-family: "Courier New", Courier, monospace; padding: 0; margin: 0; padding-top:0px; background-color:white;}</style>
    		<script type="text/javascript">
                    function pointdemesure(strb) {
                            var id=line.options[line.selectedIndex].id;
                            //alert(id);
                            if (strb == "") {
                                    document.getElementById("pointdemesure_body").innerHTML = "";
                                    return;
                            } else {
                                    if (window.XMLHttpRequest) {
                                    // code for IE7+, Firefox, Chrome, Opera, Safari
                                    xmlhttp = new XMLHttpRequest();
                            } else {
                                    // code for IE6, IE5
                                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                            xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("pointdemesure_body").innerHTML = this.responseText;
                }
            };
                            xmlhttp.open("GET","query.php?idline="+id,true);
                            xmlhttp.send();
                            }
                    }
            </script>
     
    	</head>
    <body>
    	<img width="100%" height="15px" src="images/Bandeau.jpg" border="0" />
    	<div class="container">
    		<div class="panel panel-default">
    			<div class="panel-heading"><h4>APPLICATION_TITLE</h4></div>	
    		</div>
    		<div class="panel panel-default">
    			<div class="panel-heading">
    				<div class="form-inline">
    					<label>COMBOBOX_LABEL:</label>
    						<select class="form-control" id="line" name="line" onchange="pointdemesure(this.value);">
    							<option id="line_default">SELECTION_DEFAULT</option>
    							<option id="1">OPTION_1</option>
    							<option id="2">OPTION_2</option>
    							<option id="3">OPTION_3</option>
    						</select>				
    				</div>
    			</div>
    		</div>
    		<div id="pointdemesure_body"><b>CONTENT_WILL_BE_DISPLAYED_HERE</b></div>
    		<hr>
    		<div class="row">
    			<div class="col-sm-12">
    				<footer>
    					<p>DESIGNER_NAME</p>
    				</footer>
    			</div>
    		</div><!-- row -->	
    	</div><!-- container -->
    </body>
    </html>

    .Ma page query:
    Code html : 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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<script src="js/highcharts/highcharts.js"></script>
    		<script src="js/highcharts/highcharts-more.js"></script>
    	</head>
    <body>
    <?php
    include 'lib\dbConfig.php';
    date_default_timezone_set('europe/paris');
    session_start();
    //Valeur retournée par ma page index
    $ID_line = intval($_GET['idline']);
    //DEBUG_MODE
    //$ID_line="1";
    //END_DEBUG
    $tablename="pointdemesure".$ID_line;
     
            if($ID_line=="0"){
                    echo '<b>Veuillez choisir une ligne.</b>';
            }else{
                    //echo $tablename;
                    $Query_olddate        = $db->query("SELECT MIN(PROCESSDATE) AS OLDDATE FROM MAIN_TABLENAME.$tablename");
                    $Query_recentdate     = $db->query("SELECT MAX(PROCESSDATE) AS RECENTDATE FROM MAIN_TABLENAME.$tablename");
     
                    $Query_olddate        = $Query_olddate->fetch_assoc();
                    $Query_recentdate     = $Query_recentdate->fetch_assoc();
     
                    $begining                         = $Query_olddate['OLDDATE'];
                    $ending                           = $Query_recentdate['RECENTDATE'];
     
                    $Query_Fdwag          = $db->query("SELECT * FROM MAIN_TABLENAME.$tablename ORDER BY PROCESSDATE ASC");
                    $Query_Fdwag_rowCount = $Query_Fdwag->num_rows;
     
                    $Query_FdwagMinValue  = $db->query("SELECT MIN(RESULT_VALUE) AS FDWAGMINI FROM MAIN_TABLENAME.$tablename");
                    $Query_FdwagMaxValue  = $db->query("SELECT MAX(RESULT_VALUE) AS FDWAGMAXI FROM MAIN_TABLENAME.$tablename");
     
                    $Query_FdwagMinValue  = $Query_FdwagMinValue->fetch_assoc();
                    $Query_FdwagMaxValue  = $Query_FdwagMaxValue->fetch_assoc();
     
                    $Query_FdwagAverage   = $db->query("SELECT ROUND(SUM(RESULT_VALUE)/COUNT(*),2) AS FDWAGAVERAGE FROM MAIN_TABLENAME.$tablename");
                    $Query_FdwagAverage   = $Query_FdwagAverage->fetch_assoc();
                    $FdwagAverage         = $Query_FdwagAverage['FDWAGAVERAGE'];
     
                    $FdwagMini = ROUND($Query_FdwagMinValue['FDWAGMINI'], 2);
                    $FdwagMaxi = ROUND($Query_FdwagMaxValue['FDWAGMAXI'], 2);
     
                    $Fdwag_ranges='';
                    $Fdwag_averages='';     
                    
                    if($Query_Fdwag_rowCount == 0){
                            echo '<div id="pointdemesure_body"><b>Aucune donnée enregistrée</b></div>';
                    }else{
                            while($Query_Fdwag_row   = $Query_Fdwag->fetch_assoc()){ 
                                    $Fdwag_ranges        = $Fdwag_ranges."[".strtotime($Query_Fdwag_row['PROCESSDATE']).'000'.",".$Query_Fdwag_row['LOWER_TOLERANCE'].",".$Query_Fdwag_row['UPPER_TOLERANCE']."],";
                                    $Fdwag_averages      = $Fdwag_averages."[".strtotime($Query_Fdwag_row['PROCESSDATE']).'000'.",".$Query_Fdwag_row['RESULT_VALUE']."],";
                            }
                            
                    $Query_GlobalSearch          = $db->query("SELECT * FROM MAIN_TABLENAME.$tablename ORDER BY PROCESSDATE ASC");
                    $Query_GlobalSearch_rowCount = $Query_GlobalSearch->num_rows;
                                            
                    $FdwagAverageMaxi=20;?>
     
    		<!-- GRAPHIQUE_DYNAMIQUE_DEBUT-->
    		<div id="MEASURE_POINT_CONTAINER" style="min-width: 310px; max-width: 1160px; height: 400px; margin: 0 auto"></div>
    		<!-- GRAPHIQUE_DYNAMIQUE_FIN -->
    <?php 
                    }
            }?>
     
    <script type="text/javascript">
            var ranges   = [<?PHP echo rtrim($Fdwag_ranges, ",") ?>],
        averages = [<?PHP echo rtrim($Fdwag_averages, ",") ?>];
     
            Highcharts.setOptions({
        lang: {
            months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
                'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
                weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi',
                    'Jeudi', 'Vendredi', 'Samedi'],
                    shortMonths: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil',
                        'Aout', 'Sept', 'Oct', 'Nov', 'Déc'],
                        decimalPoint: ',',
                        downloadPNG: 'Télécharger en image PNG',
                        downloadJPEG: 'Télécharger en image JPEG',
                        downloadPDF: 'Télécharger en document PDF',
                        downloadSVG: 'Télécharger en document Vectoriel',
                        exportButtonTitle: 'Export du graphique',
                        loading: 'Chargement en cours...',
                        printButtonTitle: 'Imprimer le graphique',
                        resetZoom: 'Réinitialiser le zoom',
                        resetZoomTitle: 'Réinitialiser le zoom au niveau 1:1',
                        thousandsSep: ' ',
                        decimalPoint: ','
                    }
            });
            Highcharts.chart('MEASURE_POINT_CONTAINER', {
        
        title: {
            text: 'MEASURE_POINT_NAME'
        },
            
            chart: {
                    zoomType: 'xy'
        },
     
        xAxis: {
            type: 'datetime'
        },
     
        yAxis: {
            title: {
                text: 'Effort (kN)'
            }
        },
            
        subtitle: {
            text: 'Période du <?PHP echo $begining; ?> au <?PHP echo $ending.'<br>'; ?>'
        },
            
            credits: {
                    enabled: false
            },
     
        tooltip: {
            crosshairs: true,
            shared: true,
            valueSuffix: 'kN'
        },
     
        legend: {
        },
     
        series: [{
            name: 'MEASURE_POINT_VALUES',
            data: averages,
            zIndex: 1,
            marker: {
                enabled: false
            }
        }, {
            name: 'Tolérances [mini-maxi]',
            data: ranges,
            type: 'arearange',
            lineWidth: 1,
            linkedTo: ':previous',
            color: Highcharts.getOptions().colors[7],
            fillOpacity: 0.1,
            zIndex: 0,
            marker: {
                enabled: false
            }
        }]
    });
    </script>
    </body>
    </html>

    Merci par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    on doit deviner ce qui ne va pas ?

  3. #3
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonjour ! Il me semble que tu gagnerais en clarté si ton query.php ne contenait que du PHP et la définition dynamique de tes variables PHP.
    query.php contiendrait ceci :
    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
    <?php
    if(! empty($_GET['idline'])){
    	$ID_line = intval($_GET['idline']);
    	//DEBUG_MODE
    	//$ID_line="1";
    	//END_DEBUG
    	$tablename="pointdemesure".$ID_line;
    	//echo $tablename;
    	$Query_olddate        = $db->query("SELECT MIN(PROCESSDATE) AS OLDDATE FROM MAIN_TABLENAME.$tablename");
    	$Query_recentdate     = $db->query("SELECT MAX(PROCESSDATE) AS RECENTDATE FROM MAIN_TABLENAME.$tablename");
     
    	$Query_olddate        = $Query_olddate->fetch_assoc();
    	$Query_recentdate     = $Query_recentdate->fetch_assoc();
     
    	$begining 			  = $Query_olddate['OLDDATE'];
    	$ending   			  = $Query_recentdate['RECENTDATE'];
     
    	$Query_Fdwag          = $db->query("SELECT * FROM MAIN_TABLENAME.$tablename ORDER BY PROCESSDATE ASC");
    	$Query_Fdwag_rowCount = $Query_Fdwag->num_rows;
     
    	$Query_FdwagMinValue  = $db->query("SELECT MIN(RESULT_VALUE) AS FDWAGMINI FROM MAIN_TABLENAME.$tablename");
    	$Query_FdwagMaxValue  = $db->query("SELECT MAX(RESULT_VALUE) AS FDWAGMAXI FROM MAIN_TABLENAME.$tablename");
     
    	$Query_FdwagMinValue  = $Query_FdwagMinValue->fetch_assoc();
    	$Query_FdwagMaxValue  = $Query_FdwagMaxValue->fetch_assoc();
     
    	$Query_FdwagAverage   = $db->query("SELECT ROUND(SUM(RESULT_VALUE)/COUNT(*),2) AS FDWAGAVERAGE FROM MAIN_TABLENAME.$tablename");
    	$Query_FdwagAverage   = $Query_FdwagAverage->fetch_assoc();
    	$FdwagAverage         = $Query_FdwagAverage['FDWAGAVERAGE'];
     
    	$FdwagMini = ROUND($Query_FdwagMinValue['FDWAGMINI'], 2);
    	$FdwagMaxi = ROUND($Query_FdwagMaxValue['FDWAGMAXI'], 2);
     
    	$Fdwag_ranges='';
    	$Fdwag_averages='';	
     
    	if($Query_Fdwag_rowCount > 0){
    		while($Query_Fdwag_row   = $Query_Fdwag->fetch_assoc()){ 
    			$Fdwag_ranges        = $Fdwag_ranges."[".strtotime($Query_Fdwag_row['PROCESSDATE']).'000'.",".$Query_Fdwag_row['LOWER_TOLERANCE'].",".$Query_Fdwag_row['UPPER_TOLERANCE']."],";
    			$Fdwag_averages      = $Fdwag_averages."[".strtotime($Query_Fdwag_row['PROCESSDATE']).'000'.",".$Query_Fdwag_row['RESULT_VALUE']."],";
    		}
    		$Query_GlobalSearch          = $db->query("SELECT * FROM MAIN_TABLENAME.$tablename ORDER BY PROCESSDATE ASC");
    		$Query_GlobalSearch_rowCount = $Query_GlobalSearch->num_rows;
    		$FdwagAverageMaxi=20;
     
    	}
    }
    ?>
    Et index.php commencerait ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    include 'lib\dbConfig.php';
    date_default_timezone_set('europe/paris');
    //on définit (si besoin seulement) toutes les variables préfixées $Query_
    include('query.php');
    quant à l'affichage HTML, une fois tes $Query_ définies, tu les mets à l'endroit d'affichage, avec cette condition pour faire propre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($Query_GlobalSearch_rowCount)){
       //tu fais tes affichages HTML
    }
    et bien sûr, le javascript va direct sur index.php
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 480
    Par défaut
    Bien sûr, c'est un test...

    En fait dans la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="pointdemesure_body"><b>CONTENT_WILL_BE_DISPLAYED_HERE</b></div>
    , je veux afficher un graphique et en dessous les données associées dans un tableau.

    Le problème est que j'ai un 'carré vide' à la place de mon graphique, mais j'ai bien le retour des valeurs dans mon tableau...

    C'est un tableau highcharts, j'appelle le js dans la page query.php par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<head>
    		<script src="js/highcharts/highcharts.js"></script>
    		<script src="js/highcharts/highcharts-more.js"></script>
    	</head>
    Je pense que cela doît-être un problème de script mais je n'en suis pas sûr...

    Je ne peux pas joindre de photos shockwave plante...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ton 2ème message aurait dû être le 1er...

    • vérifie les chemins vers tes fichiers js.
    • s'ils utilisent jQuery, il faut le script d'initialisation de jQuery AVANT
    • si le graphe est en flash (?), il faut que flash soit accepté sur le navigateur
    • ...

  6. #6
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 480
    Par défaut
    J'ai tourné le problème dans (presque) tout les sens, la partie déclaration des chemins *.js, *.css, etc, doit ce faire dans quelle page? Index ou query?

    J'ai essayé les deux mais j'ai toujours le même résultat...

    [EDIT]

    J'ai copié dans une page html, le code généré et il m'affiche mon graphique (mais qu'à l'ouverture de page)...

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu as vu mon message ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/06/2012, 15h22
  2. Réponses: 6
    Dernier message: 10/05/2010, 08h24
  3. [Liferay] Inclusion de pages d'une autre application dans liferay
    Par ASPAK dans le forum Portails
    Réponses: 1
    Dernier message: 30/10/2008, 16h57
  4. Comment afficher dans une page web le contenu d'une autre
    Par katie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 28/10/2007, 09h58

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