Rechercher : dans
Par :

[PHP / SQL] Tri des adresses IP

Dernière réponse le 7 jui 2009 à 10:47:27 LeHigh, le 20 mai 2009 à 10:28:21 
 Signaler ce message aux modérateurs

Bonjour les gens,

Mon problème est que je dois afficher des informations sur des adresses ip dans un tableau, que je peux trier par ordre croissant ou decroissant j'y arrive sauf pour les adresses IP justement ou ca ne tri pas correctement.

Je vous donne le code:

echo '<table width="99%" border=1 cellspacing=0>';
echo '<tr align="center">';
echo '<td class="fondjaunepale_txtbleu12g" width="10%">Adresse IP<br><a href="ip.php?t=ip&o=asc"><img src="../images/flecheu.gif" border=0></a>  <a href="ip.php?t=ip&o=desc"><img src="../images/fleched.gif" border=0></a></td>';
echo '<td class="fondjaunepale_txtbleu12g" width="10%">Masque<br><a href="ip.php?t=masque&o=asc"><img src="../images/flecheu.gif" border=0></a>  <a href="ip.php?t=masque&o=desc"><img src="../images/fleched.gif" border=0></a></td>';
echo '<td class="fondjaunepale_txtbleu12g" width="10%">Passerelle<br><a href="ip.php?t=passerelle&o=asc"><img src="../images/flecheu.gif" border=0></a>  <a href="ip.php?t=passerelle&o=desc"><img src="../images/fleched.gif" border=0></a></td>';

echo '</table>';
echo '</td></tr>';
echo '<td>';

?>
<div class="tab">
<?
if (isset ($_REQUEST['t']) && isset ($_REQUEST['o'])) {
if (isset ($_REQUEST['vue']) && $_REQUEST['vue'] == 'del') {
$req = "SELECT * FROM ip WHERE affect_ip = 'd' ORDER BY".$_REQUEST['t']." ".$_REQUEST['o'];
} else {
$req = "SELECT * FROM ip WHERE affect_ip != 'd' ORDER BY".$_REQUEST['t']." ".$_REQUEST['o'];
}
} else {
if (isset ($_REQUEST['vue']) && $_REQUEST['vue'] == 'del') {
$req = "SELECT * FROM ip WHERE affect_ip = 'd' ORDER BY ref_ip ASC";
} else {
$req = "SELECT * FROM ip WHERE affect_ip != 'd' ORDER BY ref_ip ASC";
}
}
$res = mysql_query ($req);
$nt = mysql_num_rows($res);
echo '<table width="100%" border=1 cellspacing=0>';
while ($ligne = mysql_fetch_array ($res))
{
$ref = $ligne[0];
$ip = $ligne[1];
$msk = $ligne[2];
$psrl = $ligne[3];

echo '<tr align="center" class="fondblanc_txtbleu12">';

echo '<td width="10%">'.empti($ip).'</td>';
echo '<td width="10%">'.empti($msk).'</td>';
echo '<td width="10%">'.empti($psrl).'</td>';
}

Donc si quelqu'un peut m'aider à trouver mon problème ca serait sympa =)

merci

Configuration: Windows XP
Firefox 2.0.0.16

Meilleures réponses pour « [PHP / SQL] Tri des adresses IP » dans :
Enregistrer l'adresse IP des visiteurs de votre site Voir Enregistrer l'adresse IP des visiteurs de votre site A quoi cela sert-il Comment enregistrer ces adresses IP ? A quoi cela sert-il Si jamais vous êtes victime d'une attaque, ou d'une tentative de hack, il peut être utile de savoir qui ...
[PHP] Comment afficher l'adresse IP d'un visiteur ? VoirPour afficher l'adresse IP d'un visiteur sur votre site, insérez ce code dans la zone où vous voulez qu'elle s'affiche.
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
Comment connaitre son adresse IP ? VoirLes quelques commandes ci-dessous vous permettront de trouver l'adresse IP de votre ordinateur. Connaître son adresse IP Sous Windows 2000 / Windows XP / Windows Vista Sous Windows 95 / Windows 98 Sous Linux Pourquoi certains sites...
Adresse IP VoirSommaire Qu'est-ce qu'une adresse IP Déchiffrement d'une adresse IP Adresses particulières Les classes de réseaux (obsolète) Classe A Classe B Classe C Attribution des adresses IP Adresses IP réservées Masques de sous-réseau Interet...
Usurpation d'adresse IP (Mystification / Spoofing) VoirL'usurpation d'adresse IP L'« usurpation d'adresse IP » (également appelé mystification ou en anglais spoofing IP) est une technique consistant à remplacer l'adresse IP de l'expéditeur d'un paquet IP par l'adresse IP d'une autre machine. Cette...

1

le père, le 20 mai 2009 à 10:37:20
  • +1

Bonjour

Je ne sais pas ce que fait exactement ton tri et en quoi il ne te plaît pas, mais pour trier les adresses IP il est souvent judicieux d'utiliser la fonction INET_ATON qui transforme une adresse IP en nombre
... ORDER BY INET_ATON(ref_ip)

Répondre à le père

2

LeHigh, le 20 mai 2009 à 11:00:01

Le tri dans les adresses IP e me convenait pas dans le sens ou ca se trie pas dans l'ordre.
par exemple mes adresses se trie comme ca

172.27.152....
172.27.153....
172.27.154....
172.27.52....
172.27.34....
Et d'autres bétises du genre en ordre decroissant


Mais j'ai déjà essayé avec INET_ATON, ca à pas marché :/

Répondre à LeHigh

3

le père, le 20 mai 2009 à 11:02:13

Si, pour ça ça marche. Qu'as-tu fait ?

Répondre à le père

4

LeHigh, le 20 mai 2009 à 11:19:27

Non bah si désolé ca marche j'ai l'impression; j'ai mis

echo '<td class="fondjaunepale_txtbleu12g" width="10%">Adresse IP<br><a href="ip.php?t=INET_ATON(ip)&o=asc"><img src="../images/flecheu.gif" border=0></a> <a href="ip.php?t=INET_ATON(ip)&o=desc"><img src="../images/fleched.gif" border=0></a></td>';

au lieu de

echo '<td class="fondjaunepale_txtbleu12g" width="10%">Adresse IP<br><a href="ip.php?t=ip&o=asc"><img src="../images/flecheu.gif" border=0></a> <a href="ip.php?t=ip&o=desc"><img src="../images/fleched.gif" border=0></a></td>';

Je pensais l'avoir fait mais comme j'ai touché à tout dans le code, j'ai du modifier les requêtes ou j'ai mis ca, bref,
merci beaucoup le père =)

Répondre à LeHigh

5

 Tom, le 7 jui 2009 à 10:47:27

Merci cela m'a aidé aussi dans ma requete :

$query = "SELECT `premiere_adresse`,`derniere_adresse`,`id_plage` as id,`entite_has_tb_rezo_reseauIP_entite_eid` as nom_ent FROM plages where entite_has_tb_rezo_reseauIP_tb_rezo_reseauIP_id_reseauIP='".$vlan."' UNION SELECT `premiere_adresse`,`derniere_adresse`,`id_dhcp_dynamique` as id,'null' as nom_ent FROM dhcp_dynamique where tb_rezo_reseauIP_id_reseauIP='".$vlan."' ORDER BY INET_ATON(`premiere_adresse`)";

Répondre à Tom
Collection CommentÇaMarche.net