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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de doublon de valeur dans une clé d'un tableau

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

par sirakawa » 08 nov. 2014, 13:02

Quelle colonne de la table ce qui fait doublon de clef?

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

par Nestecha » 08 nov. 2014, 03:55

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.

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

par JollyRober » 07 nov. 2014, 19:36

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