Récupérer données d'un tableau dans un autre tableau

Répondre
Rolland
Rolland
Déconnecté
3SI - Sea, Sex, Sun and Internet
Tout d'abord merci à Zebden et à l'équipe pour le Joyeux Noël 2005 et bonne soirée de la St Sylvestre à tout le monde.

De mon côté y'a un truc qui m'a gâché le passage du Père Noël et si je pouvais réveillonner plus tranquille le 31...

Je pars d'un formulaire avec en boucle une liste d'input en checkbox du style
  1. <?php for($i=30;$i<=50;$i++) {  
  2. echo $i.'<input type="checkbox" name="'.$i.'" value="'.$i.'"'; 
  3.          if (!(strcmp($i, $_POST[$i]))) { 
  4.             echo 'checked="checked"'; 
  5.          } 
  6.          echo' />| '; 
  7.       }  
  8. echo '<input name="ages" type="hidden" id="ages" />'; ?>
  9.  

Ensuite j'implode dans ma table les valeurs non nulles, et elles seules, avec ; comme séparateur.
J'ai besoin de récupérer mes valeurs pour les modifier. J'explode et je récupère un tableau sous la forme :
  1. <?php if($row_rsListe['ages']!="") { 
  2.    $ages_exist[]=explode(";",$row_rsListe['ages']); 
  3.    for($a=0;$a<=count($ages_exist);$a++) {  
  4. $ages_old=$ages_exist[$a];  
  5. }  
  6. } ?>  

Et là j'ai beau essayer d'imbriquer les deux tableaux dans tous les sens et sous toutes les formes, je n'arrive pas à afficher dans la page de modif la totalité des option avec celles récupérées cochées.

Ma méthode n'est-elle pas la bonne, et si c'est le cas qui connaitrait un lien pour celle à employer ?
Faut-il que j'intègre les <input> non cochés dans mon implode pour avoir un nombre d'enregistrements équivalent mais ça a pas l'air trés net et si j'étends les âges, ça va faire un peu beaucoup de ; ?
Ou la solution est tellement évidente qu'il vaut mieux que je ferme l'ordi pour quelques jours et que j'aille profiter de la neige pour retrouver les idées claires ?

Merci d'avance.
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
Oui va profiter de la neige !

Nan sérieusement, pourquoi déjà donner le choix entre plusieurs ages ?

Bon si vraiment c'est ton choix.. dans ta boucle :

<input type="checkbox" name="ages[]" value="' . $i . '" />

ensuite tu as ton tableau avec tous les ages cochés.

print_r($_POST['ages']) pour le visu.
Rolland
Rolland
Déconnecté
3SI - Sea, Sex, Sun and Internet
En fait vu le beau soleil qu'il fait sur les montagnes, je crois que je vais finir par craquer...

  1. pourquoi déjà donner le choix entre plusieurs ages ? 

Les âges sont un simple exemple.
le but c'est que ça puisse me servir pour des applis genre gestion de zics cd-dvd-clip, d'images, de vêtements xs-s-m-l..., ou chaussures 34-35-36..., de dimensions HxLxl..., ou toute autre chose de ce style... Et à pouvoir les modifier ensuite : mettre à jour en ajoutant et/ou supprimant un ou des éléments de la liste.

C pour ça que je me demandais si la méthode des tableaux que je tente d'utiliser est la bonne ou si il en existe de meilleures.

Je te remercie pour ta rép que je tente d'appliquer de suite.
Rolland
Rolland
Déconnecté
3SI - Sea, Sex, Sun and Internet
Yes !

Ta solut m'a aidé à visualiser et mieux comprendre le comportement des données du tableau. Merci bien.

A partir de ça j'ai recherché un peu partout et trouvé un truc (certainement pas trés propre smiley) mais qui me permet d'arriver au résultat escompté.

Donc dans ma page modif, je récupère mes données comme ça:
  1. <?php
  2.       if($row_rsListe['ages']!="") { 
  3.          $ages_exist=explode(";",$row_rsListe['ages']); 
  4.          for($i=30;$i<=50;$i++) { 
  5.             echo $i.'<input type="checkbox" name="'.$i.'" value="'.$i.'"'; 
  6.             foreach($ages_exist as $cle=>$valeur) if (!(strcmp($i, $valeur))) { 
  7.                echo 'checked="checked"'; 
  8.             } 
  9.             echo' />| '; 
  10.          } 
  11.       } ?>  

Je suis toutefois preneur de toute solut plus pro...

J'ai bien noté de modifier les "names" des checkboxes comme tu me l'as indiqué,
Mais puisque ça marche, je termine l'admin ce soir, je mets en ligne et...
Je décolle pour les Pyrénées !!!

Bon réveillon à tout le monde. smiley
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog