slt tout le monde,
je veux savoir cmt récupérer le résultat d'une requête ds un tableau et puis suprimer les doublants de ce dernier en PHP.
je travaille sur les fichiers log, je veux récupérer les adresses ip qui ont visité un tel site web(ici par exp:google) sans avoir des répétition des ips( par exemple: j'ai
172.16.29.126
172.16.12.223
172.16.12.223
172.16.12.223
172.16.12.223
172.16.29.126
donc il faut avoir comme resultat:
172.16.29.126
172.16.12.223)
voici mon script en PHP à corriger:
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
<?php
$site='google';
 
$connection=mysql_connect("localhost", "root", "");
  mysql_select_db("log");
$query = "SELECT * FROM logsteg";
$result = mysql_query($query) or ERROR(mysql_error()."<br><br>".$query);
$sql="SELECT site, ip FROM logsteg WHERE site like '%$site%' ";
$result = mysql_query($sql);
$nb= mysql_query("SELECT count(ip) as site  FROM logsteg where site like '%$site%'"); 
 
 ?> Le site "<?echo $site?>" a été visité <?echo mysql_result($nb, 0);?> fois par les adresses IP:<br>
 <?
 $N= mysql_result($nb,0);
 while($tableau = mysql_fetch_array($result)) 
{ 
echo '<tr><td>',$tableau['ip'],'</td></tr>';
 
   ?><br> <?  
}
 
$tab=array();
 
 
 
 
 $tableau = mysql_fetch_array($result);
 
  for($i=1; $i<=$N; $i++)
 {
  $tab[$i]=$tableau['ip'];
 
}
 
  echo '<pre>';
       print_r($tab);
  echo '</pre>';
for($i=1; $i<=$N; $i++)
{
 
 
if(in_array($tab[$i], $tab))
 { 
  echo $tab[1];
?> <br><?  
 unset($tab[1]) ;
 $el = array_shift($tab);
}
}
 
 
?>
merci