Raffraichissement de page sans bloquer une requête SQL

ViPHP
AB
ViPHP | 5818 Messages

07 janv. 2007, 16:29

Effectivement, tu aurais beaucoup moins de pb si tu séparais le php de l'html. Il faudrait corriger ton code pour partir sur de bonnes bases en faisant quelque chose comme :
$date_de_naissance_jour = isset($_SESSION['date_de_naissance_jour'])? htmlentities($_SESSION['date_de_naissance_jour']) : 0; 
//etc..
HTML

Code : Tout sélectionner

<body> <div><?php echo $date_de_naissance_jour ?></div> </body>
Modifié en dernier par AB le 07 janv. 2007, 17:26, modifié 1 fois.

Eléphant du PHP | 112 Messages

07 janv. 2007, 17:05

Merci AB, j'ai essai de poser des question du genre sur ce forum et d'autres afin d'obtenir une réponse dans ce style... transformer une variable de session en variable : $xxxxx et je n'est jamais trouvé les mots pour l'explique convenablement...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphanteau du PHP | 28 Messages

07 janv. 2007, 18:49

Malheureusement, ce que tu demandes n'a pas de sens :(
Une page ne "bloque" pas une requête SQL, ça n'a rien à voir... PHP génère une page, si tu ne veux pas exécuter une requête SQL alors il te faut implémenter la logique dans le code PHP.
Bonne chance.
ok. je cherchais dans un autre discussion a resoudre ce type de prob.

donc, il s'agit de creer "une maniere" de compter le nombre de fois que la requete été executée ou non ?

Y a t il un moyen de vider la cache, par exemple. Ce qui permettrai de supprimer la valeur d'une variable, non ?

En ce qui concerne les :
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

A quel moment la definition de la "no-cache" est effective. a chaque fois que la page ou il se trouve est appellée ?

Cordialement
Il n'y a pas de mauvaises saisons, seulement de mauvais vetements

Eléphant du PHP | 445 Messages

07 janv. 2007, 19:00

Vider le cache n'a pas pour effet de supprimer de valeur de variable... Le php se passe côté serveur, que la page soit en cache ou non, il s'exécutera de la même façon.

Il faut compter le nombre de requêtes, en incrémentant un compteur dans ta base de donnée par exemple. Ensuite, une petite condition incluant ce compteur pour exécuter ou non ta requête, et c'est bon.
LLDC
Ulti

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

07 janv. 2007, 19:29

Modération:
undesignable, évite de poser des questions dans un sujet qui n'est pas encore résolu (et pas prêt de l'être :? ) la confusion est déjà bien assez importante comme ça.
Reste sur ton sujet initial avec éventuellement un lien vers celui-ci.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

07 janv. 2007, 19:30

transformer une variable de session en variable
Aie aie... variable de session = variable, non ?
Pourquoi vouloir plus ?!

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 112 Messages

07 janv. 2007, 19:36

afin d'utliser : <?php $variable ?> au lieu de $SESSION
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 112 Messages

07 janv. 2007, 19:51

Mais que veut dire 0 a la fin ?
$date_de_naissance_jour = isset($_SESSION['date_de_naissance_jour'])? htmlentities($_SESSION['date_de_naissance_jour']) : 0;
?? Mois sa affiche 0 au lieu de la valeur de la variable de session...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 445 Messages

07 janv. 2007, 19:58

Si ca t'affiche 0, c'est que $_SESSION['date_de_naissance_jour'] est !isset.

Connais tu au moins la syntaxe utilisée par AB, ou as tu recopié sans savoir ce que cela faisait ?
LLDC
Ulti

Eléphant du PHP | 112 Messages

07 janv. 2007, 20:06

Oui j'ai compris la moitié du code, mais l'autre... que veut dire isset de façon claire car je suis aller sur le manuel de php, et bien rien que la définition est compliqué, c'est le principe d'un dictionnaire : on cherche la définition d'un mot, mais elle est expliqué avec un mot que l'on ne comprend pas donc on va chercher la définition de ce mot et... ainsi de suite... sa peut durer longtemps...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 445 Messages

07 janv. 2007, 20:11

Ma proposition pour www.phpdebutant.org tient toujours à ce que je vois...

Bref ^^

Ceci est un opérateur ternaire.

En gros
<?php

$date_de_naissance_jour = isset($_SESSION['date_de_naissance_jour'])? htmlentities($_SESSION['date_de_naissance_jour']) : 0;

// Equivaut à :

if(isset($_SESSION['date_de_naissance_jour']))   {
 $date_de_naissance_jour = htmlentities($_SESSION['date_de_naissance_jour']);
}
else  {
 $date_de_naissance_jour = 0;
}

?>
Quant à la fonction isset(); elle vérifie que la variable passée en paramètre existe.
LLDC
Ulti

Mammouth du PHP | 19672 Messages

07 janv. 2007, 20:15

...Ceci est un opérateur ternaire.....
Voir la FAQ
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

07 janv. 2007, 20:22

C'est bizare, pourtant le valeur et la variable de session existe !!
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 445 Messages

07 janv. 2007, 20:33

Fais donc un echo de $_SESSION['date_de_naissance_jour']; pour vérifier.

Tu peux aussi changer le isset par un empty, qui lui vérifie que la variable contient quelque chose.
LLDC
Ulti

Eléphant du PHP | 112 Messages

07 janv. 2007, 21:06

En aissayant plusieur combinaison... il est normal que cela fonctionne ?
<?php
session_start();   
 'Date de naissance : ';  
$_SESSION['date_de_naissance_jour'];  
 ' / ';  
 ' ';  
$_SESSION['date_de_naissance_mois'];  
 ' / ';  
 ' ';  
$_SESSION['date_de_naissance_annee'];  
 '<p>&nbsp;</p>';  
 'Adresse : ';  
$_SESSION['numero_de_rue'];  
 ' ';  
$_SESSION['rue'];  
 ' ';  
$_SESSION['code_postal'];  
 ' ';  
$_SESSION['ville'];  
 '<p>&nbsp;</p>';  
 'Bâtiment : ';  
$_SESSION['batiment'];  
 '<p>&nbsp;</p>';  
 'Étage : ';  
$_SESSION['etage'];  
 '<p>&nbsp;</p>';  
 'Porte : ';  
$_SESSION['porte'];  
 '<p>&nbsp;</p>';  
 'Pays : ';  
$_SESSION['pays'];  
 '<p>&nbsp;</p>';  
 'Fixe : ';  
$_SESSION['numero_de_telephone_fixe'];  
 '<p>&nbsp;</p>';  
 'Mobile : ';  
$_SESSION['numero_de_telephone_portable'];  
 '<p>&nbsp;</p>';  
?>
plus bas mélanger avec du html :
<?php echo $pays $nom $prenom ?>
Le premier code qui ce situe en heut de la page n'affiche rien mais le seconde si, pourtant je ne les pas intilialisé du genre : $nom = $_SESSION['nom'];
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!