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

Répondre
Rolland
le 27/12/2005 à 22:02
Rolland
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
<?php for($i=30;$i<=50;$i++) {
echo $i.'<input type="checkbox" name="'.$i.'" value="'.$i.'"';
if (!(strcmp($i, $_POST[$i]))) {
echo 'checked="checked"';
}
echo' />| ';
}
echo '<input name="ages" type="hidden" id="ages" />'; ?>

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 :
<?php if($row_rsListe['ages']!="") { 
$ages_exist[]=explode(";",$row_rsListe['ages']);
for($a=0;$a<=count($ages_exist);$a++) {
$ages_old=$ages_exist[$a];
}
} ?>

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.
3SI - Sea, Sex, Sun and Internet
zebden
le 28/12/2005 à 11:40
zebden
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.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Rolland
le 28/12/2005 à 16:49
Rolland
En fait vu le beau soleil qu'il fait sur les montagnes, je crois que je vais finir par craquer...

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.
3SI - Sea, Sex, Sun and Internet
Rolland
le 28/12/2005 à 19:35
Rolland
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:
<?php
if($row_rsListe['ages']!="") {
$ages_exist=explode(";",$row_rsListe['ages']);
for($i=30;$i<=50;$i++) {
echo $i.'<input type="checkbox" name="'.$i.'" value="'.$i.'"';
foreach($ages_exist as $cle=>$valeur) if (!(strcmp($i, $valeur))) {
echo 'checked="checked"';
}
echo' />| ';
}
} ?>

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
3SI - Sea, Sex, Sun and Internet
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours