Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 08h49   #1
Nouveau Membre du Club
 
Homme Raphaël Bruggeman
Analyste programmeur
Inscription : octobre 2010
Messages : 100
Détails du profil
Informations personnelles :
Nom : Homme Raphaël Bruggeman
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Analyste programmeur

Informations forums :
Inscription : octobre 2010
Messages : 100
Points : 35
Points : 35
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 :
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 :
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 :
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>
SpeedOverflow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 09h49   #2
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
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 ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 10h03   #3
Nouveau Membre du Club
 
Homme Raphaël Bruggeman
Analyste programmeur
Inscription : octobre 2010
Messages : 100
Détails du profil
Informations personnelles :
Nom : Homme Raphaël Bruggeman
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Analyste programmeur

Informations forums :
Inscription : octobre 2010
Messages : 100
Points : 35
Points : 35
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
SpeedOverflow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 10h23   #4
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
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.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web