Page 1 sur 1

Problème de doublon de valeur dans une clé d'un tableau

Posté : 07 nov. 2014, 19:36
par JollyRober
Bonjour à tous,

et merci de votre aide.

J'ai un problème de doublon dans un tableau PHP

array[

[0] array =>

[id] => X-id

[nom] => X-nom

[date] => X-date

[ligne] => X-ligne

[1] array =>

[id] => X-id

[nom] => X-nom

[date] => X-date

[ligne] => X-ligne


[2] array =>

[id] => X-id

[nom] => X-nom

[date] => X-date

[ligne] => X-ligne

]



Le but :

Trouver les doublons de valeur de [ligne] et ne garder que la dernière en [date]


Explication :

la valeur [ligne] correspond à une ligne de comptabilité.
Sa valeur change au cours de l'année.
Il me faut cependant conserver les ancienne dans la base de donnée.
Donc je voudrais retrouver celle en cours grâce à [date]

Le code :

Je suis passé par des For, foreach, in_aarray(), unset(), etc... rien n'y fait


<?php
//-------------- Trouve les charges
	$table = 'charges';	
	$variables = 'pere = '.$id_organisme;
  $selection = 'SELECT * FROM '.$table.' WHERE '.$variables.' ORDER BY date_application';
	$requete = mysql_query($selection) or die($requete_echouee);
	$nombre_charges = mysql_num_rows($requete);
  
  
//------------ Mon dernier essaie
for($i=0 ; $i<$nombre_charges ; $i++){
		$charges[$i] = mysql_fetch_assoc($requete);
		foreach($charges as $key => $val){
			if($key!=0){
				 echo $key2 = array_search($val['ligne'], $charges[$key]);
				 unset($charges[$key]);
			}
		}
	}

?>




Un peu d'aide sur ce sujet m'aiderai grandement !

Merci à tous

Re: Problème de doublon de valeur dans une clé d'un tableau

Posté : 08 nov. 2014, 03:55
par Nestecha
Un truc dans ce genre ?
<?php

$aDatas = array();

$aDatas[0]['date'] = '18/08/2014';
$aDatas[1]['date'] = '19/08/2014';
$aDatas[2]['date'] = '20/08/2014';
$aDatas[3]['date'] = '18/08/2014';
$aDatas[4]['date'] = '21/08/2014';
$aDatas[5]['date'] = '19/08/2014';

$aDatas[0]['ligne'] = 'Ancien';
$aDatas[1]['ligne'] = 'Ancien';
$aDatas[2]['ligne'] = 'Ancien';
$aDatas[3]['ligne'] = 'Recent';
$aDatas[4]['ligne'] = 'Ancien';
$aDatas[5]['ligne'] = 'Recent';

var_dump($aDatas);

$iLastDate = '';

foreach($aDatas as $aData) {
    if ($aData['ligne'] == 'Ancien') {
        $iLastDate = $aData['date'];
    }
}

echo $iLastDate;
En fait, si tu connais la valeur de [ligne] dont tu recherches les doublons, c'est tout bête (c'est le code inscrit au dessus). Par contre si tu cherches les doublons de façon "automatique", sans avoir à les connaître auparavant, c'est une autre histoire.

Re: Problème de doublon de valeur dans une clé d'un tableau

Posté : 08 nov. 2014, 13:02
par sirakawa
Quelle colonne de la table ce qui fait doublon de clef?