J'ai une application flash qui utilise un seul fichier php pour récupérer des enregistrements d'une base de données (en utilisant le framework Zend). Lorsque l'application commence, j'appelle php pour définir une variable de classe, de sorte que toutes les requêtes futures à la base de données utilisent cette variable pour sélectionner les enregistrements en fonction de sa valeur. Voici donc comment la classe commence:Zend PHP Class Rétention variable pour les requêtes mysql
class MyClass
{
private $animal = "";
public function setAnimal($anim) {
$this->animal = $anim;
echo($this->animal); //this correctly prints the variable I passed in
}
plus tard, en fonction des commentaires des utilisateurs, je fais un appel à une autre méthode dans cette classe, mais il est comme si la variable classe $ animal a été oublié, car il ne a plus une valeur sur tout accès ultérieur de la classe:
public function getAnimals()
{
echo('getAnimals: ');
echo($this->animal); //this prints nothing - as if it doesn't know what "animal" is
$result = mysql_query("SELECT * FROM animals WHERE animal='$this->animal'"); //and therefore this query doesn't work
$t = array();
while($row = mysql_fetch_assoc($result))
{
array_push($t, $row);
}
return $t;
}
donc ma question est, comment puis-je obtenir une variable de classe PHP pour persister pour que je puisse le mettre une fois, et je peux accéder à tout moment au cours de la la vie d'une application?
Oui, c'est ce dont j'avais peur. On dirait que je dois faire des recherches sur les sessions et flash. Merci. – sol