Petite question sur l'affichage en Php

Petit nouveau ! | 6 Messages

08 avr. 2010, 13:56

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)

ViPHP
ViPHP | 5462 Messages

08 avr. 2010, 14:02

hello, ton changement tu le fait a quel moment ?

Petit nouveau ! | 6 Messages

08 avr. 2010, 14:05

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é.

ViPHP
ViPHP | 5462 Messages

08 avr. 2010, 14:07

tu peu pas changer la sortie, PHP rend uniquement le html de fin

Petit nouveau ! | 6 Messages

08 avr. 2010, 14:11

D'accord, mais alors y'aurait-il un autre moyen? En passant par Javascript peut-être?

ViPHP
ViPHP | 5462 Messages

08 avr. 2010, 14:13

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>';

Petit nouveau ! | 6 Messages

08 avr. 2010, 14:22

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.

ViPHP
ViPHP | 5462 Messages

08 avr. 2010, 14:32

c'etait un exemple a toi de l'adapter,
pour ton exmple tu voudrais un tableau en direct si j'ai bien compris ?

Mammouth du PHP | 568 Messages

08 avr. 2010, 14:32

C'est un compliqué quand même ce que tu veux mettre en place...

Es-tu sur que ta logique est bonne?

Petit nouveau ! | 6 Messages

08 avr. 2010, 15:25

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?

Mammouth du PHP | 672 Messages

08 avr. 2010, 15:51

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...

Petit nouveau ! | 6 Messages

08 avr. 2010, 16:31

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.