cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006
-
9 janv. 2006 à 15:30
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
10 janv. 2006 à 19:54
bonjour,
je reprends un code. En fait dans un tableau il y a tous les clients de la boite qui apparaissent, j'ai rajouté une checkbox en face de chaque client. ensuite un bouton 'générer facture' doit permet de facturer certains clients, ceux qui sont cochés.
pour faire le formulaire voilà le code :
dans la page de traitement, la personne avant moi avait mis cela, qui permet de récupérer les clients à facturer, mais moi je dois rajouter la vérification de la checkbox:
foreach($_POST as $item => $valeur_fac)
{if (isset($_POST[$item]))
{ if ( strstr($item, 'genere_fac') != FALSE)
J'ai mis :
$i = 0; //initialise la variable i
foreach($_POST as $item => $valeur_fac)
{if (isset($_POST[$item]))
{ if ($caz[$i]=="vrai") // vérifie que la case est coché, enfin je pense
{ if ( strstr($item, 'genere_fac') != FALSE
{
$i++ //tout à la fin du processus, mais peut etre pas utilise car il y a un foreach
}
}
}
}
Donc voila je vous demande votre avis, car quand je coche, il ne se passe pas ce qui devrait y avoir.
cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006 9 janv. 2006 à 16:21
comme dit plus haut, le code ne vient de moi, et j'ai remarqué donc en fait je comprends pas tout lol, mais en gros d'un côté il y a la form qui contient seulement le nom de ma colonne de mon tableau.
Puis dans une autre page et là php, contient ma checkbox :
cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006 9 janv. 2006 à 16:24
le name="caz[]" est mis car il y aura plusieur checkbox, car l'entreprose possède plusieurs clients. Mais n'arrive pas à faire en sorte qu'il m'affiche ce que je veux, pour les clients ayant leur case cochée.
Si vous voulez, j'ai changé d'approche et j'ai mis celà :
$case=$_POST[caz];
{ if (!empty($case))
dans ce cas là il n'affiche rien si je ne coche pas, mais si je ne coche qu'une seule case, il m'affiche des information pour tous les clients et pas seulement celui ayant la case cochée.
sidf
Messages postés1216Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention18 octobre 20125 9 janv. 2006 à 16:33
jette un oeil au source de la page une fois affichée et regarde les names des cases à cocher
à mon avis, caz[] ne va pas s'incrémenter tout seul
si je comprends bien, il faut que tu aies caz[0], caz[1], caz[2] etc... pour les nom des cases à cocher ???
il faudrait voir le code du formulaire, le
</td>
doit se trouver dans une boucle, non ?
cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006 9 janv. 2006 à 16:39
/* construction de la ligne du tableau */
if($res_fac_list['etat_compte_id_etat'][$indx] == 4)
$nouv_lign="<tr bgcolor='#FFFF00'>";
elseif($res_fac_list['etat_compte_id_etat'][$indx] == 6)
$nouv_lign="<tr bgcolor='#EFEFEF'>";
else $nouv_lign="<tr>";
sidf
Messages postés1216Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention18 octobre 20125 9 janv. 2006 à 16:52
j'aurais aimé voir la balise form et
et le début de la boucle for each
mais à mon avis, il faut inclure un compteur ($i)
"."."</td> etc...
j'ai arrêté la chaine pour des facilités de concatenation
les cases à cocher devraient avoir les noms caz[0], caz[1] etc...
quand tu affiches le source
// on met ces variables dans un tableau pour les afficher pour VERIFICATION
include("../../connex_2.php"); // connexion à la base de données DU SITE B2C
unset($TABLE,$COND,$CHAMPS,$AGREGATE,$result);
$TABLE="compte";
$CHAMPS="compte.id_compte";
$COND="compte.personne_idpersonne ='".$rest_id."'";
$result=SQL_SELECT($CON,$TABLE,$CHAMPS,$COND,$AGREGATE);
$rest_compte = $result['id_compte'][0];
if(empty($cons_tel)) $cons_tel = 0;
$ok_pour_ce_prix -= $cons_tel;
$tab_a_fact[] = array( $rest_compte, $ok_pour_ce_prix, $telephonie , $cons_tel);
}
}
}
}
et avec ton incrémentation j'ai bien des caz[] différents, j'ai des nombres différents je veux dire ;)
cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006 9 janv. 2006 à 17:20
hé bien non ça ne marche pas, là quand je coche une case, je n'ai aucune info qui s'affiche alors qu'avant je les avais tous(bien que je veuille que ceux cochés), donc je sais pas quoi faire.
cs_cassecroute
Messages postés44Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention17 février 2006 10 janv. 2006 à 10:43
anthomicro, ce qui m'intéresse c'est juste que dans la boucle foreach que mon prédécesseur a mis, je rajoute une condition comme quoi la checkbox de la ligne est cochée ou non ... mais peut etre que ce que tu as marqué pourrait me servir, mais là j'ai trop de mal à rentrer dans le code, vu que que ce n'est pas de moi
...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 10 janv. 2006 à 19:54
bah en fait si tu connais toutes les valeurs de tes checkbox qu'on été affichées, tu pourras le faire en refaisant la manip via php qui affichait les checkbox, et les checkbox cochées sont celles que tu récupères via ma méthode :-)