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 :

essai javascript getElementById .style.display


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut essai javascript getElementById .style.display
    voilà ma page d'accueil

    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
    <?PHP 
    	error_reporting(0); 	
    require("./php/etat.php"); 
    ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="StyleSheet" type="text/css" href="./css/rta.css"></link>		
          <!--  <script language="javascript" src="./javascript/rtajscript.js"></script>--> 
    		<script language="javascript" src="./javascript/overlib.js"></script>
    		<script language="javascript" src="./javascript/prototype-1.6.0.2.js"></script>
     
            <title>RTA gestion des donn&eacute;es</title>
        </head>
    	<body text="FFCC99" link="#000000" vlink="#0099FF" alink="#999999">
     
    		<div class="conteneur" id="conteneur">
    			<div class="logo" id="logo"></div>
     
     
    			<a href="#">
    				<div class="onglet"  id="tableclient" name="tableclient" onclick="<?php etat(1);?>">
    				Clients
    				</div>	
    			</a>
     
    		</div>   
    	</body>
    </html>
    Voilà mon fichier css:
    Code CSS : 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
    @charset "iso-8859-1";
    /* CSS Document */
     
    #conteneur{
    	position:				absolute;
    	background-color: 		#cb8;
    	top:					50%;
    	left:					50%;
    	width:					900px;
    	height:					600px;
    	margin-top:				-300px;
    	margin-left:			-450px;
    	border-style:			groove;
    	border-width: 			medium;
    	border-color:			rgb(125,125,50);
    }
     
     
    #logo{
    	position:				absolute;
    	background:				url(../image/logo2.jpg);
    	width:					141px;
    	height:					122px;
    	top:					0px;
    	left:					0px;
    	z-index:				10;
    }
     
    .onglet{
    	position:				relative;
    	float:					left;
    	background:				url(../image/mononglet.png);
    	width:					220px;
    	height:					30px;
    	top:					121px;
    	font-family:			Verdana;
    	font-size:				18pt;	
    	text-align:				center;
    	z-index:				10;
    }

    Voilà mon fichier javascript:
    Code js : 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
    // JavaScript Document
    //Gestion des écrans.
    function etat(i){
    		switch (i){
    			case 1 :{
    				document.getElementById ("conteneur").style.display =" ../php/formclient.php"; 
     
    			break;
    			}
     
    			case 2 :{
    				document.getElementById ("conteneur").style.display ="../php/formintervention.php";
    			break;
    			}
     
     
    		}
    }

    voila mon .php formclient:
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?PHP
    session_start();
    include_once("../servars1.php");	
    include_once ("./class.DBUtils.php");
     
    $db = new DBUtils();
     
    	$connect = $db->connecter(HOSTNAME, USERNAME, PASSWORD, DATABASENAME);
    	$sql = "select * from client";
    	$result = $db->executerRequete($connect, $sql);		
    	$nbresult = mysql_num_rows($result);
    echo"<div id=\conteneur>
    echo"<form name=\"tableclient\" id=\"tableclient\">\n";
    echo"<br></br>";
    echo"il y a $nbresult enregistrements dans la table";
    	echo "<table class = \"form_table_client\" table border = \"1\" cellpadding =\"2\" cellspacing = \"2\" align = center >\n
    	<tr>
    	<th>num client</th>
    	<th>nom1 client</th>
    	<th>nom2 client</th>
    	<th>nom contact</th>
    	<th>prénom contact</th>
    	<th>adresse1</th>
    	<th>adresse2</th>
    	<th>ville</th>
    	<th>code postal</th>
    	<th>région</th>
    	<th>pays</th>
    	<th>fixe</th>
    	<th>gsm</th>
    	<th>email</th>
    	<th>tel rta</th>
    	<th>réparation N1</th>
    	<th>réparation N2</th>
    	<th>réparation N3</th>
    	<th>intervention N1</th>
    	<th>intervention N2</th>
    	<th>intervention N3</th>	
    	</tr>";
    		while($line = mysql_fetch_row($result))
    		{
    			$num_client = $line[0];
    			$nom1_client = $line[1];
    			$nom2_client =$line[2];
    			$nom_contact =$line[3];
    			$prénom_contact =$line[4];
    			$adresse1 =$line[5];
    			$adresse2 =$line[6];
    			$ville =$line[7];
    			$code_postal =$line[8];
    			$région =$line[9];
    			$pays =$line[10];
    			$fixe =$line[11];
    			$gsm =$line[12];
    			$email =$line[13];
    			$tel_rta =$line[14];
    			$réparation_N1 =$line[15];
    			$réparation_N2 =$line[16];
    			$réparation_N3 =$line[17];
    			$intervention_N1 =$line[18];
    			$intervention_N2 =$line[19];
    			$intervention_N3 =$line[20];
    			echo "<tr>\n
    			<td><a href =\"$num_client\">$num_client</a></td>\n
    			<td>$nom1_client</td>\n
    			<td>$nom2_client</td>\n
    			<td>$nom_contact</td>\n
    			<td>$prénom_contact</td>\n
    			<td>$adresse1</td>\n
    			<td>$adresse2</td>\n
    			<td>$ville</td>\n
    			<td>$code_postal</td>\n
    			<td>$région</td>\n
    			<td>$pays</td>\n
    			<td>$fixe</td>\n
    			<td>$gsm</td>\n
    			<td>$email</td>\n
    			<td>$tel_rta</td>\n
    			<td>$réparation_N1</td>\n
    			<td>$réparation_N2</td>\n
    			<td>$réparation_N3</td>\n
    			<td>$intervention_N1</td>\n
    			<td>$intervention_N2</td>\n
    			<td>$intervention_N3</td>\n";
    		}
    	echo"</table>\n";
    echo"</form>\n";
    echo"</div>";
    Mon problème est que je n'arrive pas à afficher ma table dans un div de ma page d'accueil.
    si quelqu'un peut m'aider? par avance merci beaucoup...

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonjour,
    Pourquoi tu mets
    Cela veut dire qu'aucune erreur ne sera affichée, tu ne sauras jamais pourquoi ça ne marche pas avec ça.

    tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="<?php etat(1);?>">
    alors qu'il me semble qu'etat() est une fonction javascript et pas une fonction php . Elle ne sera jamais lancée.

    Qu'est-ce que tu entends par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById ("conteneur").style.display =" ../php/formclient.php";
    Ça ne veut rien dire. Qu'est-ce que tu veux faire par ça ? Tu ne peux pas juste affecter à ton style du code php et espérer que le code s'exécute.

    Par ailleurs, pourquoi utilises -tu un doctype XHTML 1.0 Strict, alors que ton code n'en remplit pas les conditions? Avec ça, les navigateurs vont entrer en quirk mode et afficher ta page comme l'affichaient les vieux navigateurs, et pas comme tu l'entends.
    Explique ce que tu veux faire, et peut-être pourra-t-on te donner des pistes?

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut ce que je voudrai
    mon fichier php formclient.php crée la table que je désire.
    Serait-il possible d'afficher cette table dans un div de ma page d'accueil avec un clic sur un onglet?

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Hum,
    corrige-moi là où je me trompe, ton fichier php récupère toutes les données clients, et les affiche ensuite dans un tableau ? Si c'est le cas, pourquoi mets-tu le tout dans un formulaire ?
    Le formulaire devrait se trouver dans ta page d'accueil, et appeller ensuite la page php, qui affichera les résultats. Pour l'afficher dans le div, tu peux le faire de manière traditionnelle, ou avec Ajax (http://gael-donat.developpez.com/web/intro-ajax/

    Ajax te permet de le faire sur un clic d'un onglet, par exemple (ou un lien, ou n'importe qui), et sans que le reste de la page ne soit rechargée. Regarde le lien pour des détails.
    La manière traditionnelle se fait comme cela, en simplifiant, et en supposant que l'on veuille afficher la table sur un clic de bouton :
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html><head>
    </head>
    <body>
    <form action="formclient.php" method="post">
    <input type="text" id="texte" name="texte"/>
    <input type="submit" value="yes" id="var">
    </form>
    <div id="texte"><?php echo $var ?></div>
    </body></html>
    $var représente le résultat de formclient.php. En pratique, soit tu affectes à $var tout le code de formclient depuis jusqu'à la fin, en enlevant les echo et la balise <form>, soit tu mets tout ce code à la place de $var dans le div, cette fois en gardant les echo, mais toujours en supprimant <form>.
    Dès que le champ "texte" n'est pas vide, on lance l'action. La requête est passée à formclient.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
     
    if(isset($_POST['texte'])) 
    {
      //tu exécutes la requête vers la base de données
      //tu récupères le résultat dans une variable $var ou plusieurs (ou tableaux).
    }
    include("index.php"); //tu affiches la page d'index.
    Et le résultat s'affichera dans la div.

    En tous les cas, getElementById .style.display ne fait que modifier l'affichage de la div (à non, inline, block, etc ...), mais ne modifie pas le texte. Pour le texte, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementById('id).value
    .
    Je ne sais pas si j'ai été clair, le problème, c'est que ton code confonds tout : javascript et php, style et contenu du div, place du formulaire...
    Et par confusion, ce n'est pas dans le sens où tout est mélangé, mais dans le sens où tu demandes aux uns d'effectuer des actions qui sont du ressort des autres.

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    grand merci pour cette réponse exhaustive , je change mon code...

Discussions similaires

  1. Quels est la compatibilité de .style.display
    Par arnolem dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/07/2006, 16h11
  2. Pb avec IE en utilisant style.display
    Par sagitarium dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/05/2006, 10h44
  3. [W3C] Problème avec la balise div et le style "display:none&a
    Par Golork dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 14/11/2005, 20h30
  4. getElementByID().style ;-)
    Par lemmings dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/09/2005, 11h51
  5. Pb style display avec Firefox mal appliqué
    Par frochard dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/07/2005, 23h48

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