Page 1 sur 1

Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 13:56
par slent
Bonjour à tous, j'aimerais faire quelque chose mais je ne sais pas si c'est possible:

Imaginons un code du genre:
<?php

if($boolean==true){
	echo "C'est ok";
}else{
	echo "Non";
}
for($i=0;$i<10;$i++){
	if($i==7){
		$boolean=true;
	}
}

?>
Ma question : Est-il possible d'envoyer une sorte d'événement ou d'utiliser des sortes de pointeurs pour que quand $boolean==true la condition remplace le "Non" affiché précédemment par "C'est ok" sans recharger la page?

Merci d'avance pour vos réponses. (je sais que ça peut paraître bizarre comme question)

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:02
par stealth35
hello, ton changement tu le fait a quel moment ?

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:05
par slent
Je voudrais que le changement se fasse au moment où $boolean devient égal à "true", donc quand la condition qui se trouve dans la boucle est vérifié.

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:07
par stealth35
tu peu pas changer la sortie, PHP rend uniquement le html de fin

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:11
par slent
D'accord, mais alors y'aurait-il un autre moyen? En passant par Javascript peut-être?

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:13
par stealth35
D'accord, mais alors y'aurait-il un autre moyen? En passant par Javascript peut-être?
oui, ou tu peux feinter avec le buffer et l'affichage HTML
echo '<span style="position:absolute; width:50px">non</span>';	

ob_flush();
flush();    	
    	
sleep(3);
	
echo '<span style="position:absolute; width:50px; background:#ffffff">OK</span>';

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:22
par slent
Ouais mais du coup avec ça, ça affiche OK dans tous les cas.

Je vais essayé de clarifié sur quoi je bosse:

Je suis en train de faire un module de gestion de stock. Donc j'affiche une multitude de produit ayant chacun une référence, une quantité stockée et une quantité minimale. Pendant le programme, à chaque ligne du tableau je vérifie si la quantité stockée n'est pas en dessous de la quantité minimale et si c'est le cas je mets:
$penurie=true;
Et donc je voudrais que si $penurie==true (au moins une ligne du tableau a une quantité inférieur au seuil) j'affiche, par exemple, une image avec un point d'exclamation en haut de la page.

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:32
par stealth35
c'etait un exemple a toi de l'adapter,
pour ton exmple tu voudrais un tableau en direct si j'ai bien compris ?

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 14:32
par Yosh
C'est un compliqué quand même ce que tu veux mettre en place...

Es-tu sur que ta logique est bonne?

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 15:25
par slent
Bin pour l'instant j'ai tout mi en place sauf ce contrôleur visuel de l'état des stocks. Il y a un tableau d'affichage en HTML avec gestion de tri par en-tête etc... et un tableau associatif en php pour associé les quantités à chaque référence de produit.

J'ai pensé à un truc: est-il possible de faire l'echo (ou l'image du coup) en fin de code et le positionner en haut de page avec du CSS?

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 15:51
par macgawel
Ouais mais du coup avec ça, ça affiche OK dans tous les cas.

Je vais essayé de clarifié sur quoi je bosse:

Je suis en train de faire un module de gestion de stock. Donc j'affiche une multitude de produit ayant chacun une référence, une quantité stockée et une quantité minimale. Pendant le programme, à chaque ligne du tableau je vérifie si la quantité stockée n'est pas en dessous de la quantité minimale et si c'est le cas je mets:
$penurie=true;
Et donc je voudrais que si $penurie==true (au moins une ligne du tableau a une quantité inférieur au seuil) j'affiche, par exemple, une image avec un point d'exclamation en haut de la page.
Sépare le traitement de l'affichage !
// Initialisation
$alerte = false;

// Boucle de traitement sur les stocks
foreach ($Aproduits as $Aproduit) {
   if ($stock < $minimum) {
      $alerte = true;
   }

// Affichage
if ($alerte) {
   echo "Manque de stock !";
}
// Création et affichage du tableau
A la limite, si ça te semble trop lourd de séparer le traitement de l'affichage, tu peux toujours stocker le tableau des produits dans une variable, et rajouter avant l'alerte, si besoin...

Re: Petite question sur l'affichage en Php

Posté : 08 avr. 2010, 16:31
par slent
macgawel : J'ai utilisé ta première technique, ça marche nickel, merci. Il est vrai que c'est un peu plus lourd car j'ai pas mal de traitements annexes à faire en double sans possibilité de faire des fonctions, mais bon. Encore merci.