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 :

lecture d'une variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Octobre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 122
    Par défaut lecture d'une variable
    Bonjour,

    De quel manier puis je lire une variable à partir de n'importe quel endroit des scripts ?

    Je m'explique:

    Je voudrai récupérer et envoyé le nombre de ligne présent dans le tableau via une fonction js du script frmInfoMsg.php.

    Le compteur est dans le script ci-dessous.

    Merci d'avance pour vos conseils.

    db_info.php
    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
    <? 
    	$tmp=ini_get("include_path") . ";/opt/lampp/htdocs/bruggeman";
    	ini_set("include_path", $tmp);
    	include_once("Facade.php");
    	$facade=new Facade();
    	$infoMsg = $facade->refreshAllInfo();
    	$checked='unchecked';
     
    	$i=0;
    ?>
     
    <table id='r' class="default" width='35%' name='t'>
    		<th width='5%' align="left"></th>
    		<th width='32%' align="left">Sender</th>
    		<th width='17%' align="left">Send date</th>
    		<?foreach($infoMsg as $val) : ?>
    			<tr name='msg' class="row<?=$i%2?>" id="<?=$val['key']?>">
    				<td style="text-align:center"> <input name='ckhMsg[]' id="chkMsg<?=$i?>" type='checkbox' <? echo $checked; ?> /></td>
    				<td> <?=$val['firstname']." ".$val['lastname'] . $i++ ?> </td>
    				<td> <?=$val['senddate']?> </td>
    			</tr>
    		<? endforeach ?>
    </table>
    frmInfoMsg.php
    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
    <? 
    	$tmp=ini_get("include_path") . ";/opt/lampp/htdocs/bruggeman";
    	ini_set("include_path", $tmp);
    	include_once("scripts.js");
    ?>
     
    <head>
    	<link rel="stylesheet" href="default.css">	
    	<!-- <script type="text/javascript" src="scripts.js"></script> 	ne fonctionne pas -->
    </head>
     
    <body onLoad="messageTable()">
    	<input type="button" value="Refresh" onClick="messageTable()" />
    	<input type="button" value="Supprimer" onClick="supCheckedMsg(<? echo $i; ?>)" />
     
     
    		<div id="txtHint"><b>No messages.</b></div>
    </body>
    script.js
    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
    <script>
    		function getXMLHttpRequest() {
    			var xhr = null;
     
    			if (window.XMLHttpRequest || window.ActiveXObject) {
    				if (window.ActiveXObject) {
    					try {
    						xhr = new ActiveXObject("Msxml2.XMLHTTP");
    					} catch(e) {
    						xhr = new ActiveXObject("Microsoft.XMLHTTP");
    					}
    				} else {
    					xhr = new XMLHttpRequest(); 
    				}
    			} else {
    				alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    			}
     
    			return xhr;
    		}	
     
    		function messageTable() {
    			xmlhttp=getXMLHttpRequest();	 
     
    			xmlhttp.onreadystatechange=function() {
    			  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    			    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    		    }
    		  }
    		  xmlhttp.open("GET", "db_info.php", true); 			
     
    			xmlhttp.send();
     
    		}
     
    		function supCheckedMsg(countRow){
     
    			alert (document.getElementById('chkMsg1').checked + " " + countRow);
    		}	
     
     
     
    </script>

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je ne vois pas le rapport (ou le lien) qu'il y a entre db_info.php et frmInfoMsg.php ?

    frmInfoMsg.php serait la page, elle inclus bien scripts.js, mais pas db_info.php (où je n'ai pas vu).
    Donc $i ne serait non seulement pas incrémenté, mais aussi inexistant. Php devrait d’ailleurs te renvoyer une erreur pour ça (variable indéfinie). Est-ce le cas ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Octobre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 122
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Je ne vois pas le rapport (ou le lien) qu'il y a entre db_info.php et frmInfoMsg.php ?

    frmInfoMsg.php serait la page, elle inclus bien scripts.js, mais pas db_info.php (où je n'ai pas vu).
    Donc $i ne serait non seulement pas incrémenté, mais aussi inexistant. Php devrait d’ailleurs te renvoyer une erreur pour ça (variable indéfinie). Est-ce le cas ?
    Effectivement, lors de la lecture, elle me renvoi bien "indéfinie". C'est là mon problème.

    Sinon, c'est la structure qui est mauvaise.

    Sinon, le lien se fait via AJAX.

    La variable $i est bien incrémentée dans le script db_info.php

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par SpeedOverflow
    Sinon, c'est la structure qui est mauvaise.
    Que ce soit la structure, j'en sais rien, mais il y a quelque chose qui ne va pas, ça c'est certain.

    Si tu veux obtenir le nombre total de $infoMsg dans cette page frmInfoMsg.php, il n'y aura pas d'autre choix que de récupérer cette info là.
    Après ça, faut voir la manière.
    Faut il inclure db_info.php se qui aura pour effet d'afficher le tableau HTML ?
    Faut il juste inclure Facade.php et réinstancier/ré-éxécuter la classe Facade() ?
    ou autre manière ...
    Ca c'est à toi de voir.


    Ceci dit, il est (théoriquement) bon de séparer les traitements (récupérations des données Bdd/fichiers, etc ...) et le HTML (contenu de la page), ça offre en général plus de souplesse.

Discussions similaires

  1. Lecture d'une variable dans un fichier php
    Par debo41 dans le forum Flex
    Réponses: 2
    Dernier message: 26/08/2008, 08h21
  2. Lecture d'une variable dans un fichier php
    Par debo41 dans le forum Flex
    Réponses: 2
    Dernier message: 21/08/2008, 16h56
  3. Lecture d'une variable
    Par mounir81 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2006, 15h32
  4. [Tableaux] Lecture d'une variable contenant plusieurs arrays
    Par MightyDucks dans le forum Langage
    Réponses: 10
    Dernier message: 27/03/2006, 12h40
  5. Réponses: 10
    Dernier message: 27/01/2006, 09h43

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