IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Supprimer indiçage tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par défaut Supprimer indiçage tableau
    Bonjour à tous,

    Je travaille sous Delphi For Php, avec un Bdd FireBird.

    J'ai un problème de remplissage d'un TreeView, le composant est par défaut implenté dans le logiciel. Seul problème à l'horizon il faut lui passer un tableau.

    Comme mon treeview est dynamique, je me doit donc de changer la string comprise dans le tableau en fonction des résultats des requêtes.

    Alors que j'arrive à former une chaine de caractère qui serait conforme au modèle décrit par la documentation, je n'arrive pas à contenir la chaîne de caractère propre dans le tableau sans l'indiçage automatique.

    Cela me donne donc :

    Array ( [0] => array('Caption'=>'Mairie 1','Items'=>array(array('Caption'=>'Ecole M1'),array('Caption'=>'Hotel de Ville'))); )
    A la place de :

    array('Caption'=>'Mairie 1','Items'=>array(array('Caption'=>'Ecole M1'),array('Caption'=>'Hotel de Ville')));
    JE fais la convertion de la chaine de caractère au tableau à l'aide de la fonction str_split, ou je metla longueur de la chaine de caractère et celle-ci en paramètres.

    Si quelqu'un aurait une idée pour enlever l'indiçage du tableau, et si possible l'array devant.

    Sinon comment faire pour modifier une string comprise dans un tableau ?

    Merci d'avance de votre aide qui me sera grandement utille.
    Amicalement, descurai

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si $tableau vaut
    Array ( [0] => array('Caption'=>'Mairie 1','Items'=>array(array('Caption'=>'Ecole M1'),array('Caption'=>'Hotel de Ville'))); )
    Et que tu veux
    array('Caption'=>'Mairie 1','Items'=>array(array('Caption'=>'Ecole M1'),array('Caption'=>'Hotel de Ville')));
    Tu veux tout simplement $tableau[0]
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par défaut
    J' yai pensé mais à vrai dire ça ne marche pas, l'appel à la fonction TreeView se fait de cette manière :

    $this->TreeView1->Items=$items;
    $items étant le tableau.

    Si je met $items [0] ou $a dans mon exemple il ne m'affiche plus du tout le composant.

    Il faut au tableau $items quelquechose de la forme :

    $items[]=array ('Caption'=>'Item1','Items'=>array(array('Caption'=>'SubItem1',array('Caption'=>'SubItem2'))));
    Est ce possible d'avoir la longueur des chaines de caractères, de les tronquer, de rajouter des morceaux, même si la chaine de caractères est dans un tableau ? J'ai essayé mais sans résultats évidents, si vous avez des idées, je suis preneur.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le tableau $items que tu me montres la donnerait exactement le tableau que tu dis ne pas vouloir.

    A mon avis tu te méprends sur quelque chose : un tableau sans indice n'existe pas.
    array('toto', 'titi') signifie array(0=>'toto', 1=>'titi')
    $items[] = "toto"; te donnera array(0=>"toto");
    Je ne comprends pas non plus bien ce que tu veux dire avec tes decoupages de chaines.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par défaut
    Voila l'exemple de base qui fonctionne :

    $items=array();

    $items[]=array ('Caption'=>'Item1','Items'=>array(array('Caption'=>'SubItem1',array('Caption'=>'SubItem2'))));

    $this->TreeView1->Items=$items;
    J'en ai donc déduit que le treeview faisait référence au tableau.

    Le truc c'est que je n'arrive pas à écrire sauf si je l'écris en dur, le tableau.
    Pourtant quand je fais un écho, de la string que j'intègre dans le tableau, elle est correcte.

    Quand à ce qui est du tronquage des chaînes, en fait je construits ma string au fur et a mesure des requêtes, donc au départ , je fais comme s'il n'y avait que le site.

    Puis s'il y a un bâtiment je dois tronquer la première chaine pour lui enlever le ); de fin et rajouter le reste du tableau correspondant à l'ajout du bâtiment dépendant du site.


    Pour ce qui est de l'affichage, j'ai concocté l'exemple rien qu'avec le site, cela correspond à :

    $items[$a]=array('Caption'=>$site[$i]);
    Et ceci fonctionne avec $this->TreeView1->Items=$items; par la suite.

    mais lorsque je passe le tableau à l'autre fonction et quand je le reprend par la suite, il m'affiche juste array. JE n'arrive pas à travailler sue la chaîne de caractère entière c'est pourquoi je passe par une chaine de caractère proprement dit. De manière a pouvoir la tronquer et l'ajuster facilement.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je suis en train de comprendre que tu construis ton tableau en recomposant une chaine de caractere ...

    Pourrais-tu nous montrer le code ou tu construis ton $item ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Supprimer un tableau
    Par dabertch dans le forum JBuilder
    Réponses: 1
    Dernier message: 23/05/2008, 14h17
  2. supprimer un tableau powerpoint / condition "Existe"
    Par ouioui_cmoi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2008, 17h22
  3. supprimer ligne tableau si A est vide
    Par flyhb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2008, 23h30
  4. Supprimer un tableau Powerpoint (PPT) depuis Excel VBA
    Par pontoise dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2008, 19h01
  5. [Tableaux] débutant : supprimer ligne tableau
    Par samplaid dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2006, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo