cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
19 mars 2007 à 21:09
cs_morpheus57
Messages postés121Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention30 décembre 2010
-
21 mars 2007 à 14:35
Salut ... alors voila je planche sur un truc en ce moment et j'ai un e problématique peu courante ...
dans une BDD j'ai deux champs
coord_x et coord_y ...ce sont des coordonnées de points
bon ... je récupère ces deux valeurs dans un tableau via php
j'aimerai arriver à pondérer le tableau en fonction du nombre de fois qu'apparait une paire de coordonnées et sortir un tableau avec toutes les coordonnées plus une colone qui servirait à savoir le nombre de fois qu'une paire apparait ...
exemple (ça sera plus compréhensible)
j'ai donc récup les valeurs de ma bdd
j'ai un tableau style
coord[1]['x'] = 10 ;
coord[1]['y'] = 10 ;
coord[2]['x'] = 10 ;
coord[2]['y'] = 10 ;
coord[3]['x'] = 10 ;
coord[3]['y'] = 15 ;
coord[4]['x'] = 30 ;
coord[4]['y'] = 40 ;
ici j'ai deux fois le couple x, y -> 10, 10
j'aimerai sortir un tableau
vala ...
mais bon figurez vous que j'y arrive pas ...lol et j'ai l'impréssion que c'est pas si simple ...
alors si un génie du php peut me donner ne serai-ce qu'une piste :) ça serait cool !!
mercii !
@+
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 19 mars 2007 à 22:24
Salut,
Je suis loin d'être un génie en PHP, et je pense que mon code peut être amplement amélioré mais pour le moment il fait son boulot ^^ :
<?php
function caviar($array) {
$temp = array();
$i = 0;
while (isset($array[++$i])) {
if (!is_null($array[$i]['x'])) {
$j = $i;
$k = 1;
while (isset($array[++$j])) {
if (!is_null($array[$j]['x']) AND $array[$j]['x'] === $array[$i]['x'] AND $array[$j]['y'] === $array[$i]['y']) {
$array[$j] = array('x' => NULL, 'y' => NULL);
$k++;
}
}
$temp[] = array('x' => $array[$i]['x'], 'y' => $array[$i]['y'], 'poids' => $k);
}
}
return $temp;
}
Je pense que ma version PHP est plus rapide car elle a une complexite n+m, m < n alors que la proposition ci-dessus a une compléxite n², mais je me trompe peut etre.
Voila, my 2 cents
"They are 10 sorts of persons whose understand binary and whose not"
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention10 février 2009 21 mars 2007 à 10:37
Comparons ce qui est comparable, je parlais des 2 facons PHP.
Pour la gestion BDD, ca depend de trop de parametre que l'on a pas.
- type et version de la BDD en autre
"They are 10 sorts of persons whose understand binary and whose not"
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 21 mars 2007 à 14:20
Salut, et merci pour vos réponses.
La bdd est en mysql ... sous la forme
CREATE TABLE `coord` (
`id_coord` int(11) NOT NULL auto_increment,
`x_coord` int(11) NOT NULL default '0',
`y_coord` int(11) NOT NULL default '0',
`poids_coord` int(11) NOT NULL default '1',
`reso_x` int(11) default NULL,
`reso_y` int(11) default NULL,
`page` varchar(255) default NULL,
`click_coord` int(11) NOT NULL default '0',
PRIMARY KEY (`id_coord`)
)
c'est possible avec une requette de savoir le nombre de fois qu'apparait le couple x_coord, y_coord et de rajouter un e colonne virtuelle avec cette valeur là ?