Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 27/06/2011, 17h05   #1
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Par défaut Modifier variable statique avec Zend

Bonjour.

J'utilise Zend et j'ai un problème très **** :

Mon problème:

Je veux utiliser une liste statique dans mon controleur,
on affiche un par un dans l'index et on élimine élément déjà affiché...
mais sa marche pas!!!

ex :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ColorController extends Zend_Controller_Action
{
public static $color = array("blue", "vert", "rose");
 
      public function indexAction()
    {
        $coleurAfficher = self::$color[0];
 
        $nouvelleListe = self::$color;
        unset($nouvelleListe[0]);
 
        self::$color = $nouvelleListe;
 
        echo $coleurAfficher;
    }
}
puis les autres fichiers...
mais chaque fois je clique sur index de color c'est toujours "blue" qui affiche???

c'est normal? si oui comment faire un truc comsa, sinon pourquoi?
ltime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 18h54   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 548
Points : 2 548
Envoyer un message via Skype™ à rawsrc
Salut,

Tu ne peux pas modifier une liste écrite en dur ! Même si tu fais un lors de l'appel suivant ton tableau aura récupéré les valeurs initiales codées en dur dans la classe (heureusement).

Tu peux modifier tes tableaux tant que ton script est en cours d'exécution.
Pour arriver à faire ce que tu veux, il faudrait réécrire le code de ta classe en dur à l'exécution et puis il faudrait aussi espérer dans ton cas que chaque client sélectionne les couleurs dans le même ordre -> bonne chance

Bref, il te faut suivre pour chaque utilisateur, la couleur sélectionnée de manière à ne pas la proposer lors des appels suivants. (Si j'ai bien tout compris)
Il te faut récupérer pour cela la couleur déjà sélectionnée lors de l'appel précédent. Via $_GET ou $_POST ou même $_SESSION
Cela donnerait un truc du genre (tu peux sécuriser et améliorer) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
 
class ColorController extends Zend_Controller_Action {
 
   static $color = array('blue', 'vert', 'rose');
 
   function indexAction() {
      $colorsList = array_diff(self::$color, array($_GET['previousColor']);
      echo $colorsList[0];
   }
}
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 11h13   #3
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Merci Xysyo.

En fait, le problème est un peu différent:

J'ai une liste de produit récupéré depuis la BDD(base de données) selon formulaire de client. (liste statique pour resservir la liste)

Et je propose les produits un par un au client pour qu'il retienne quelque produits(encore une liste statique pour chaque client).

La condition est :
- ne pas proposer même produit ou produit retenue(modif liste statique)
- ne pas faire des requêtes pour chaque produit pour proposer.

C'est un peu chaud!
ltime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 19h32   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 548
Points : 2 548
Envoyer un message via Skype™ à rawsrc
Salut,

il me semble que tu mélanges php(côté serveur) avec javascript(côté client)
Citation:
J'ai une liste de produit récupéré depuis la BDD(base de données) selon formulaire de client. (liste statique pour resservir la liste)
Cela n'a rien de statique.
Citation:
Et je propose les produits un par un au client pour qu'il retienne quelque produits(encore une liste statique pour chaque client).
Là aussi cela n'a rien de statique.
Citation:
La condition est :
- ne pas proposer même produit ou produit retenue(modif liste statique)
- ne pas faire des requêtes pour chaque produit pour proposer.
Bon alors là c'est définitivement pas statique.

Si tu ne veux pas faire de requêtes pour chaque produit à proposer, c'est que tu dois rappatrier tous les produits d'un coup et ensuite gérer la liste des produits restant à proposer en fonction des choix du client avec du javascript.

Bref, bon courage
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 11h46   #5
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Dslé...mon problème persiste...

Pourquoi on peut pas garder une liste (une fois de l'execution de requete) de coté serveur en PHP et l'utiliser après pour modifier(ajout/suppression des éléments) tant que le client ne quitte pas mon site?

en JAVA, j'arrivais à faire ce genre de chose avec une liste statique:

j'ai un string static chaine et chaque validation du formulaire, je concatène cet chaine avec une autre du formulaire et j'arrivais l'afficher en bas du formulaire le string concaténé...

je ne comprends rien... aide-moi svp...
ltime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 17h57   #6
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 548
Points : 2 548
Envoyer un message via Skype™ à rawsrc
Salut,

Ah je comprends mieux : en PHP il n'y a aucune persistance de quoi que ce soit une fois une réponse envoyée. C'est différent de Java avec ses serveurs d'application. Tu dois utiliser une session pour gérer cette persistance. Regarde du côté des tutos sur ce même site
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h01.


 
 
 
 
Partenaires

Hébergement Web