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 doublon dans une variable [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut supprimer doublon dans une variable
    Bonjour à tous,
    je bloque actuellement sur la possibilité de supprimer les doublon dans une variable php.
    J'ai essayé plusieurs solution trouvées sur différents tuto mais je n'y arrive pas.

    Pourriez vous me donner un coup de main ?

    Merci par avance de votre aide.

  2. #2
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Salut,

    Tu parles bien d'un tableau ? Si oui tu peut faire ca avec array_unique

  3. #3
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Pour préciser la réponse du sieur amoiraud, j'ajouterai que si le tableau en question contient beaucoup d'éléments : il est bien plus performant de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_flip(array_flip($data));

  4. #4
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Merci rawsrc je connaissait pas cette astuce

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    voici ma commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $total = 0;	
    $key)    
    foreach($_POST['ttc'] as $key => $value){ 	
    $total += $value;
     
    $tableau[] = $key;
    $a = $tableau[0];
    $b = $tableau[1];
    $numfac = $a. $b;
    ma variable "$numfac" me sort des doublons,
    j'ai essayé array unique mais je n'y arrive pas.
    comment le configurer avec ma variable ?

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Euh, j'ai rien compris à ton code (surtout la cuisine avec $key).
    Pourrais-tu poster le contenu de $_POST['ttc']

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    je suis débutant motivé mais débutant, il se peut que mes codes ne soient pas très correct.

    voici mon checkbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form method='post' >
    	<input type='checkbox' name='ttc[".$piece_item['num']."]'  value='".number_format($piece_item['ttc'],2)."'>
    dans mon checkbos je récupere let montant TTC dans $piece_item['ttc'] et le numéro de facture dans [".$piece_item['num']."]'
    apres je traite avec $_post.

    puis je récupére l'index qui me donne les numéro de facture pour en faire une variable que je réutilise dans la suite de mon code, mais avec cette manière de proceder je me retrouve avec "tableau 0" me donne le numéro de la première facture puis "tableau 1" premiere facture + 2eme facture et "tableau 3" premire facture + 2eme + 3eme
    d'où les doublons

  8. #8
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Normalement, si tu as créé correctement ton formulaire :
    ce code devrait être suffisant (vérifie que tu retrouves bien tes petits) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $total = 0;
     
    foreach ($_POST['ttc'] as $num_fa => $montant)
    {
        $total += $montant;
        echo 'Facture ', $num_fa, ' : ', $montant, ' - Total : ', $total, "\n";
    }
    Un conseil : n'hésite pas à être très explicite sur le nommage de tes variables, c'est utile pour la compréhension et la lisibilité.

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    $num_fa me retourne un seul N° de facture quand j'en sélectionne plusieurs !!

  10. #10
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Poste le code complet de génération de ton formulaire.

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    voici la page complète:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
     
    <script>
    	function visibilite(thingId) {
    		var targetElement;
    		targetElement = document.getElementById("div_section_"+thingId);
    		if (targetElement.style.display == "none") {
    			targetElement.style.display="";
    			document.getElementById("btn_section_"+thingId).src="../images/admin/piece_close.png";
    		}
    		else {
    			targetElement.style.display="none";
    			document.getElementById("btn_section_"+thingId).src="../images/admin/piece_open.png";
    		}
    	}
     
    </script>	
     
     
     
    <?php
    session_start();
    $numfac = $_SESSION['toto']->checkbox;
     
     
    if ( $log == "ok" ) {
     
    	$cnx = odbc_connect( $base_bdd_catalogue, $login_bdd_catalogue, $pwd_bdd_catalogue);
    	if($cnx) {
    		$code_client = "";
    		$mois_en_cours = date("Ym");
     
    		$req_ciel= odbc_exec( $cnx, "SELECT N° FROM Clients WHERE Code like '".$_SESSION['compte_CodeCiel']."' ");
    		if (odbc_fetch_row($req_ciel)) {
    			$client_ciel_N° = odbc_result($req_ciel,'N°');
    		}
     
    		if ( $client_ciel_N° != "" ) {
    			$array_piece_mois = array();
    			$array_index_mois = 0;
    			$array_piece_old = array();
    			$array_index_old = 0;
    			$facture_client= odbc_exec( $cnx, "SELECT * FROM Pièces WHERE N°Client LIKE '".$client_ciel_N°."' AND ResteAPayer>0 ORDER BY N° DESC");
    			while(odbc_fetch_row($facture_client)) {
    				$piece_num = odbc_result($facture_client,'N°Pièce');
    				$piece_type = odbc_result($facture_client,'Type');
    				$souche_filtre = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
    				$piece_souche = str_replace($souche_filtre,'',$piece_num);
    				$piece_ResteAPayer = odbc_result($facture_client,'ResteAPayer');
    				$piece_Date = odbc_result($facture_client,'Date');
    				$piece_mois = substr($piece_Date,0,4).substr($piece_Date,5,2);
     
    				// trie des pièces
    				if ( $piece_type<>$ciel_pièce_type && $piece_ResteAPayer<>0 || ( $piece_type==$ciel_pièce_type && $piece_mois<=$mois_en_cours ) ) {
    					$array_index_mois += 1;
    					$array_piece_mois[$array_index_mois]['id']   		= odbc_result($facture_client,'N°');
    					$array_piece_mois[$array_index_mois]['num']  		= $piece_num;
    					$array_piece_mois[$array_index_mois]['date'] 		= $piece_Date;
    					$array_piece_mois[$array_index_mois]['ttc']  		= round(odbc_result($facture_client,'NetTTC'),2);
    					$array_piece_mois[$array_index_mois]['ht']   		= round(odbc_result($facture_client,'NetHT'),2);
    					$array_piece_mois[$array_index_mois]['ResteAPayer'] = $piece_ResteAPayer;
    					$array_piece_mois[$array_index_mois]['N°CmdWeb']   	= odbc_result($facture_client,'N°CmdWeb');
    					$array_piece_mois[$array_index_mois]['Type']   		= odbc_result($facture_client,'Type');
    					$array_piece_mois[$array_index_mois]['vendeur']   	= odbc_result($facture_client,'N°Vendeur');
    					$array_piece_mois[$array_index_mois]['Référence']   = odbc_result($facture_client,'Référence');
    				}
    			}
     
     
     
    			// affiche les pièces factures/devis en cours
    			echo "<center><h3> En cours : </h3></center>";
    			echo "<center><table border='0' bgcolor='#3c3c3c' width='725px'>
    				<tr>
    					<td width='20px'></td>
    					<td width='80px' align='center'><b> N° </b></td>
    					<td width='100px' align='center'><b> Ref client </b></td>
    					<td width='115px' align='center'><b> Date </b></td>
    					<td width='100px' align='center'><b> Statut </b></td>
    					<td width='100px' align='center'><b> HT </b></td>
    					<td width='100px' align='center'><b> TTC </b></td>
    					<td width='100px' align='center'><b> SOLDER </b></td>
    					<td width='20px'></td>
    				</tr>
    			</table></center>";
     
    			foreach ($array_piece_mois as $piece_item) {
    				$piece_color = "#bd3b3b";
    				$piece_info = "Inconnu";
    				$impression_type = "Imprimer";
    				$extra = "";
    				if ( $piece_item['vendeur']==10 ) {
    					if ( $piece_item['Type']==0 && $piece_item['ResteAPayer']<>0 ) { $piece_color = "#bd3b3b"; $piece_info = "Facture non soldée"; $impression_type = "Imprimer la facture"; }
    					else if ( $piece_item['Type']==0 ) { $piece_color = "#27b123"; $piece_info = "Facture soldée"; $impression_type = "Imprimer la facture"; }
    					else if ( $piece_item['Type']==1 && $piece_item['ResteAPayer']<>0 ) { $piece_color = "#e5ab1f"; $piece_info = "Commande en attente";  $impression_type = "Imprimer la commande"; }
    					else if ( $piece_item['Type']==1 ) { $piece_color = "#27b123"; $piece_info = "Cde terminée, soldée"; $impression_type = "Imprimer la facture"; }
    					else if ( $piece_item['Type']==$ciel_pièce_type && $piece_item['ResteAPayer']<>0 ) { $piece_color = "#bd3b3b"; $piece_info = "non soldé";  $impression_type = "Imprimer la facture"; }
    					else if ( $piece_item['Type']==$ciel_pièce_type ) { $piece_color = "#27b123"; $piece_info = "soldé";  $impression_type = "Imprimer la facture"; }
     
    				}
    				else {
    					if ( $piece_item['Type']==1 ) { 
    						$piece_color = "#0271b8"; 
    						$piece_info = "Devis en cours"; 
    						$impression_type = "Imprimer le devis"; 
    						$extra = "<span style='float:right;'>
    						<a title='Valider le devis' href='index.php?page=./pages_compte/compte_accueil&souspage=./pages_client/compte_client_ciel&num=".$piece_item['num']."&piece=".$piece_item['id']."&action=valide_devis'><img src='./images/compte/logo/btn_devis_valider.png' /></a>
    						&nbsp;
    						<a title='Supprimer le devis' href='index.php?page=./pages_compte/compte_accueil&souspage=./pages_client/compte_client_ciel&num=".$piece_item['num']."&piece=".$piece_item['id']."&action=supprime_devis'><img src='./images/compte/logo/btn_devis_supprimer.png' /></a>
    						</span>";
    					}
    					else if ( $piece_item['Type']==0 && $piece_item['ResteAPayer']<>0 ) { $piece_color = "#bd3b3b"; $piece_info = "Facture à payer"; $impression_type = "Imprimer la facture";}
    					else if ( $piece_item['Type']==0 ) { $piece_color = "#27b123"; $piece_info = "Facture soldée"; $impression_type = "Imprimer la facture"; }
    				}
     
     
     
    				echo "<center><table border='0' bgcolor='#4c4c4c' width='725px' style='margin-top:1px;'>
    					<tr>
    						<td width='20px'>"; ?><a href="#" title="Afficher/Masquer les détails"><img id="<?php echo "btn_section_".$piece_item['id']; ?>" src="../images/admin/conteneur_open.png" onclick="visibilite('<?php echo $piece_item['id']; ?>');"/></a><?php echo "</td>
    						<td width='80px' align='center'><b>".$piece_item['num']."</b></td>
    						<td width='100px' align='center'><b>".$piece_item['N°CmdWeb']."</b></td>
    						<td width='115px' align='center'><b>".substr($piece_item['date'],8,2)."-".substr($piece_item['date'],5,2)."-".substr($piece_item['date'],0,4)."</b></td>
    						<td width='100px' align='center'><b style='color:".$piece_color.";'>".$piece_info." ".$extra."</b></td>
    						<td width='100px' align='center'><b style='color:".$piece_color.";'>".number_format($piece_item['ht'],2)." € &nbsp </b></td>
    						<td width='100px' align='center'><b style='color:".$piece_color.";'>".number_format($piece_item['ttc'],2)." € &nbsp </b></td>
    						<td width='100px' align='center'>
    						
    						
    						<form method='post' >
    						<input type='checkbox' name='ttc[".$piece_item['num']."]'  value='".number_format($piece_item['ttc'],2)."'>
    						
    												
    													
    						<td width='20px'><a href='./pages_client/piece_imprime.php?client=".$_SESSION['compte_CodeCiel']."&piece=".$piece_item['id']."&piece_nom=".$piece_item['num']."' target='_BLANK' title='".$impression_type."'><img src='./images/compte/logo/adobe.png'/></a></td>
    						</table></center>
    						<div id='div_section_".$piece_item['id']."' style='display:none;font-size:8pt;'><center><table border='0' bgcolor='#5c5c5c' width='725px'>";
     
     
    						//$total = 0;	
    						//foreach($_POST['ttc'] as $key => $value) {
    						//$total += $value;
     
    						$total = 0;
     
    						foreach ($_POST['ttc'] as $num_fa => $montant)
    						{
    							$total += $montant;
    							echo 'Facture ', $num_fa, ' : ', $montant, ' - Total : ', $total, "\n";
    						}
     
     
     
     
     
    						//$tableau[] = $key;
    						//$a = $tableau[0];
    						//$b = $tableau[1];
    						//$c = $tableau[2];
    						//$numfac  = $a."  ".$b."  ".$c ;
    						//$numfac2=substr($b, strpos ($b,'(') , 6);
    						//$numfac2=str_replace(")", "", $numfac2);
    						//$numfac3=substr($c, strpos ($c,'(') , 12);
    						//$numfac3=str_replace(")", "", $numfac3);
    						//}//
     
     
     
    				$facture_article= odbc_exec( $cnx, "SELECT * FROM PiècesLignes WHERE N°Pièce=".$piece_item['id']." ORDER BY N° ASC");
    				while(odbc_fetch_row($facture_article)) {
    					if ( odbc_result($facture_article,'Type') == 0 ) {
    						// article
    						$req_article= odbc_exec( $cnx, "SELECT Code FROM Articles WHERE N°=".odbc_result($facture_article,'N°Article')." ");
    						if ( odbc_fetch_row($req_article) ) {
    							$ref_article = odbc_result($req_article,'Code');
    						}
    						echo "<tr>
    							<td width='120px' align='left'>".$ref_article."</td>
    							<td width='25px'>".number_format(odbc_result($facture_article,'Qté'),0)."</td>
    							<td width='' align='left'>".odbc_result($facture_article,'Libellé')."</td>
    							<td width='80px' align='right'>".number_format(odbc_result($facture_article,'NetHT'),2)." € &nbsp </td>
    							<td width='80px' align='right'>".number_format(odbc_result($facture_article,'NetTTC'),2)." € &nbsp </td>
    							<td width='20px'> &nbsp; </td>
    						</tr>";
    					}
     
     
    					else if ( odbc_result($facture_article,'Type') == 4 ) {
    						// commentaire
    						echo "<tr>
    							<td width='120px' align='left'> &nbsp; </td>
    							<td width='25px'> &nbsp; </td>
    							<td width='' align='left'>".odbc_result($facture_article,'Libellé')."</td>
    							<td width='80px' align='right'> &nbsp; </td>
    							<td width='80px' align='right'> &nbsp; </td>
    							<td width='20px'> &nbsp; </td>
    						</tr>";
    					}
    				}
    				echo "</table></center></div>";
    			}	
     
    			// DEBUT résultat du checkbox
     
    			// affiche bouton valider
     
    			echo" <input style='margin-left: 583px' type='submit' value='Valider / Annuler'> 
    					</form>	";
    			// affichage tableau réglement
    			echo "
    				<div id='cadre_paiement_en_ligne'>
    				Vous avez séléctionner la/les facture(s) suivantes.
    				<input  style='width:200px ; text-align:center; background-color: #c0c0c0;' name='ttc' value='".$num_fa."' >
    				
    				
    				<div id='txt_montantreglement'>Montant total de votre règlement : </div>
    				<div id='checkbox_paiementenligne'>
    				<input  type='text' style='width:60px ;text-align:center' name='ttc' value='".number_format($total,2)."€' >
    				</div>
    				<div id='txt_paiement_en_ligne'>Paiement en ligne</div>
    				<div id='img_paiement_en_ligne'><a href='./payment/call_request.php'><img src='./images/paiement_en_ligne/logo_CB.png'></div></a>
    				</div>";
    			// FIN résultat du checkbox	
     
    		}
     
    		echo "<br/>";
    	}
     
    }
    else echo "<br/><center><p class='erreur'><img class='logo' src='./images/warning.png' alt=''/> Votre session est invalide ! </p></center>";
     
     
    // DEBUT génération "id transaction" pour paiement en ligne
     
    $sans_lettre = substr($numfac,1);
    $id_transaction = $sans_lettre;
     
    // FIN génération "id transaction" pour paiement en ligne
     
     
    // DEBUT envois des variables vers "call_paiement
    $_SESSION['id_transaction'] = $id_transaction;
    $_SESSION['total'] = $total;
    // FIN envois des variables vers "call_paiement
     
     
     
    ?>

  12. #12
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Ok, c'est un sacré pavé dis donc
    il faudrait que tu vérifies le code source HTML de la page générée, histoire de s'assurer que les cases à cocher ont bien les infos adéquates (clic droit sur la page et clic sur "Afficher le code source" ou un truc du genre)

    Vérifier que
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='checkbox' name='ttc[numéro différent]'  value='montant différent'>

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    encore faudrait-il mettre le bout de code donné par rawsrc au bon endroit.

    C'est-à-dire au moment du traitement.
    Pas dans la construction du formulaire (boucle foreach ($array_piece_mois as $piece_item)).

    Il faudrait surtout EXPLIQUER TRES CLAIREMENT à QUOI ça doit servir.

    Car s'il s'agit d'afficher le NOUVEAU TOTAL AU FUR ET A MESURE qu'on coche une nouvelle case, ça se fait en JavaScript !

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    voici le contenu obtenus par ctrl/u :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
     
     
     
     
     
     
    <center><h3> En cours : </h3></center><center><table border='0' bgcolor='#3c3c3c' width='725px'>
    				<tr>
    					<td width='20px'></td>
    					<td width='80px' align='center'><b> N° </b></td>
    					<td width='100px' align='center'><b> Ref client </b></td>
    					<td width='115px' align='center'><b> Date </b></td>
    					<td width='100px' align='center'><b> Statut </b></td>
    					<td width='100px' align='center'><b> HT </b></td>
    					<td width='100px' align='center'><b> TTC </b></td>
    					<td width='100px' align='center'><b> SOLDER </b></td>
    					<td width='20px'></td>
    				</tr>
    			</table></center><center><table border='0' bgcolor='#4c4c4c' width='725px' style='margin-top:1px;'>
    					<tr>
    						<td width='20px'><a href="#" title="Afficher/Masquer les détails"><img id="btn_section_21156" src="../images/admin/conteneur_open.png" onclick="visibilite('21156');"/></a></td>
    						<td width='80px' align='center'><b>D2540</b></td>
    						<td width='100px' align='center'><b></b></td>
    						<td width='115px' align='center'><b>03-08-2013</b></td>
    						<td width='100px' align='center'><b style='color:#0271b8;'>Devis en cours <span style='float:right;'>
    						<a title='Valider le devis' href='index.php?page=./pages_compte/compte_accueil&souspage=./pages_client/compte_client_ciel&num=D2540&piece=21156&action=valide_devis'><img src='./images/compte/logo/btn_devis_valider.png' /></a>
    						&nbsp;
    						<a title='Supprimer le devis' href='index.php?page=./pages_compte/compte_accueil&souspage=./pages_client/compte_client_ciel&num=D2540&piece=21156&action=supprime_devis'><img src='./images/compte/logo/btn_devis_supprimer.png' /></a>
    						</span></b></td>
    						<td width='100px' align='center'><b style='color:#0271b8;'>16.72 &#128; &nbsp </b></td>
    						<td width='100px' align='center'><b style='color:#0271b8;'>20.00 &#128; &nbsp </b></td>
    						<td width='100px' align='center'>
     
     
    						<form method='post' >
    						<input type='checkbox' name='ttc[D2540]'  value='20.00'>
     
     
     
    						<td width='20px'><a href='./pages_client/piece_imprime.php?client=DEMO&piece=21156&piece_nom=D2540' target='_BLANK' title='Imprimer le devis'><img src='./images/compte/logo/adobe.png'/></a></td>
    						</table></center>
    						<div id='div_section_21156' style='display:none;font-size:8pt;'><center><table border='0' bgcolor='#5c5c5c' width='725px'>Facture D2540 : 20.00 - Total : 20
    Facture F15248 : 179.40 - Total : 199,4
    Facture F15246 : 40.00 - Total : 239,4
    <tr>
    							<td width='120px' align='left'>INST-LOGICIEL</td>
    							<td width='25px'>1</td>
    							<td width='' align='left'>Installation logiciel</td>
    							<td width='80px' align='right'>16.72 &#128; &nbsp </td>
    							<td width='80px' align='right'>20.00 &#128; &nbsp </td>
    							<td width='20px'> &nbsp; </td>
    						</tr></table></center></div><center><table border='0' bgcolor='#4c4c4c' width='725px' style='margin-top:1px;'>
    					<tr>
    						<td width='20px'><a href="#" title="Afficher/Masquer les détails"><img id="btn_section_21155" src="../images/admin/conteneur_open.png" onclick="visibilite('21155');"/></a></td>
    						<td width='80px' align='center'><b>F15248</b></td>
    						<td width='100px' align='center'><b></b></td>
    						<td width='115px' align='center'><b>03-08-2013</b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>Facture à payer </b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>150.00 &#128; &nbsp </b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>179.40 &#128; &nbsp </b></td>
    						<td width='100px' align='center'>
     
     
    						<form method='post' >
    						<input type='checkbox' name='ttc[F15248]'  value='179.40'>
     
     
     
    						<td width='20px'><a href='./pages_client/piece_imprime.php?client=DEMO&piece=21155&piece_nom=F15248' target='_BLANK' title='Imprimer la facture'><img src='./images/compte/logo/adobe.png'/></a></td>
    						</table></center>
    						<div id='div_section_21155' style='display:none;font-size:8pt;'><center><table border='0' bgcolor='#5c5c5c' width='725px'>Facture D2540 : 20.00 - Total : 20
    Facture F15248 : 179.40 - Total : 199,4
    Facture F15246 : 40.00 - Total : 239,4
    <tr>
    							<td width='120px' align='left'>ATELDONNEE-DDHS</td>
    							<td width='25px'>1</td>
    							<td width='' align='left'>Prestation atelier (Récuperation de données sur disque dur formaté) </td>
    							<td width='80px' align='right'>150.00 &#128; &nbsp </td>
    							<td width='80px' align='right'>179.40 &#128; &nbsp </td>
    							<td width='20px'> &nbsp; </td>
    						</tr></table></center></div><center><table border='0' bgcolor='#4c4c4c' width='725px' style='margin-top:1px;'>
    					<tr>
    						<td width='20px'><a href="#" title="Afficher/Masquer les détails"><img id="btn_section_21152" src="../images/admin/conteneur_open.png" onclick="visibilite('21152');"/></a></td>
    						<td width='80px' align='center'><b>F15246</b></td>
    						<td width='100px' align='center'><b></b></td>
    						<td width='115px' align='center'><b>03-08-2013</b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>Facture à payer </b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>33.44 &#128; &nbsp </b></td>
    						<td width='100px' align='center'><b style='color:#bd3b3b;'>40.00 &#128; &nbsp </b></td>
    						<td width='100px' align='center'>
     
     
    						<form method='post' >
    						<input type='checkbox' name='ttc[F15246]'  value='40.00'>
     
     
     
    						<td width='20px'><a href='./pages_client/piece_imprime.php?client=DEMO&piece=21152&piece_nom=F15246' target='_BLANK' title='Imprimer la facture'><img src='./images/compte/logo/adobe.png'/></a></td>
    						</table></center>
    						<div id='div_section_21152' style='display:none;font-size:8pt;'><center><table border='0' bgcolor='#5c5c5c' width='725px'>Facture D2540 : 20.00 - Total : 20
    Facture F15248 : 179.40 - Total : 199,4
    Facture F15246 : 40.00 - Total : 239,4
    <tr>
    							<td width='120px' align='left'>ATELIER</td>
    							<td width='25px'>1</td>
    							<td width='' align='left'>Prestation atelier 1 heure</td>
    							<td width='80px' align='right'>33.44 &#128; &nbsp </td>
    							<td width='80px' align='right'>40.00 &#128; &nbsp </td>
    							<td width='20px'> &nbsp; </td>
    						</tr></table></center></div> <input style='margin-left: 583px' type='submit' value='Valider / Annuler'> 
    					</form>	
    				<div id='cadre_paiement_en_ligne'>
    				Vous avez séléctionner la/les facture(s) suivantes.
    				<input  style='width:200px ; text-align:center; background-color: #c0c0c0;' name='ttc' value='F15246' >
     
     
    				<div id='txt_montantreglement'>Montant total de votre règlement : </div>
    				<div id='checkbox_paiementenligne'>
    				<input  type='text' style='width:60px ;text-align:center' name='ttc' value='239.40&#128;' >
    				</div>
    				<div id='txt_paiement_en_ligne'>Paiement en ligne</div>
    				<div id='img_paiement_en_ligne'><a href='./payment/call_request.php'><img src='./images/paiement_en_ligne/logo_CB.png'></div></a>
    				</div><br/>
     
     
     
     
     
     
     
    </div> <script> show_menu(); </script>		</div>
     
    		<div id="cadre_page_bas"></div>
     
    		<div id="cadre_droit"><form action="index.php" enctype="multipart/form-data" method="post">
     
    			<div id="cadre_droit_auth">
    			<table class='cadre_droit' border='0'>
    						<tr align='left'><td width='55px'></td><td>Démonstration</td></tr>
    						<tr><td></td><td></td></tr>
    						<tr><td></td><td></td></tr>
    						<tr><td></td><td></td></tr>
    						<tr><td></td><td></td></tr>
    						<tr align='left'><td></td><td><input type='submit' name='logout' value='Déconnection'/></td></tr>
    						<tr><td></td><td></td></tr>
    						<tr><td></td><td></td></tr>
    						<tr align='left'><td></td><td><a href='index.php?page=./pages_compte/compte_accueil' class='catalogue_navigation'>Accueil compte</a></td></tr>
    					</table>			</div>
    			<img class='' src='./images/cadre_droit_log.png' alt='' />
    		</form></div>

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    bonjour à jreaux 62,
    pour répondre à ta remarque je te précise que je n'avais jamais vu un code php avant il y a 10 jours et que ce qui est évident pour vous ne l'ai pas forcément pour moi.

    Je pense que pour quelqu'un qui à mis le nez dans le code PHP il y a pas plus de 10 jours je me demerde pas trop mal.
    Je ne demande qu'a apprendre.
    Je reprend un code qui a été fait par un pro et j'ai beaucoup de difficultés, mais riens n'est impossible.

    encore merci à vous de m'aider.

  16. #16
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    cette commande fonctionne mais j'ai besoin d'une variable contenant tous les N° de factures
    Si j'utilise la variable $num_fa j'obtient qu'un seul N° de facture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $total = 0;
     
    foreach ($_POST['ttc'] as $num_fa => $montant)
    {
        $total += $montant;
        echo 'Facture ', $num_fa, ' : ', $montant, ' - Total : ', $total, "\n";
    }

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par laurentbatch Voir le message
    ... pour quelqu'un qui à mis le nez dans le code PHP il y a pas plus de 10 jours ...
    De la narine gauche, j'espère ? Ca porte bonheur !

    Je dirais surtout que tu commences TRES fort !
    Tu dois avoir bon appétit pour vouloir avaler un si gros morceau...

    Cependant, pour bien démarrer, il faut COMPRENDRE la LOGIQUE du code = ENCHAINEMENT des actions.

    1/ FORMULAIRE
    • requete en base de données
    • construction de la <table>
    • boucle d'affichage ligne par ligne (foreach : 1 fiche/item par ligne <tr>)
    • + 1 case à cocher par ligne (<input type='checkbox' ...>)
    • enfin, un bouton "submit"

    2/ TRAITEMENT
    Le traitement ne s'effectue QU'APRES soumission du formulaire !
    Par conséquent, le $_POST n'existe QU'APRES.

    OR TOI, tu as mis la boucle de calcul du montant (=traitement !) DANS la boucle de construction ligne par ligne (foreach).
    A ce moment-là, le $_POST est soit l'ANCIEN (si rechargement de page !), soit pas encore existant.

  18. #18
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    en effet, je l'ai remis à sa place mai cela ne change rien.
    La variable $num_fa ne m'affiche qu'un N° de facture.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par laurentbatch Voir le message
    ... je l'ai remis à sa place ...
    A quelle place ???


    Citation Envoyé par jreaux62 Voir le message
    Il faudrait surtout EXPLIQUER TRES CLAIREMENT à QUOI ça doit servir.
    Car s'il s'agit d'afficher le NOUVEAU TOTAL AU FUR ET A MESURE qu'on coche une nouvelle case, ça se fait en JavaScript !

  20. #20
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Par défaut
    pour le montant c'est ok, pour le total au fur et a mesure c'est ok.
    le N° des factures sélectionnées dois s'afficher dans un input text, mais je ne parviens pas à faire une variable pour afficher tous les N° de factures sélectionnées dans mon unput text

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Suppression des doublons dans une variable de type tableau
    Par damsmut dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/07/2019, 10h36
  2. Supprimer doublons dans une table !
    Par S.Lay dans le forum BIRT
    Réponses: 4
    Dernier message: 25/08/2011, 12h17
  3. [UNIX] Suppression doublons dans une variable
    Par david2109 dans le forum Unix
    Réponses: 4
    Dernier message: 17/03/2010, 08h22
  4. supprimer des doublons dans une variable
    Par havany dans le forum Linux
    Réponses: 6
    Dernier message: 20/02/2010, 10h31
  5. [MySQL] Supprimer doublon dans une liste
    Par Gad29 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2007, 14h13

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