0
我進入網絡,因此您看到的數據是交換機/端口信息。使用LIKE和排序的PHP修整和SQL查詢
問題:
我只希望 「GE-0/0/X」 的SQL查詢的一部分,我希望它是 「GE-0/0/x」 和我只是想整理以「選擇不同」的「ge-0/0/x」部分(如果你關注我,只有1個端口)。
由於某些結果上有一些點,我已經發現我可以使用rtrim
來擺脫它們。在結果中還有一些破折號( - ),所以任何幫助擺脫他們,以及非常讚賞。
PHP:
// "nodes" is the number of swithes, thus the ge-[node].
$host_name = 'switch_host_name';
$nodes = 2;
for($node=0;$node<$nodes;$node++){
$ge = '%: ge-'.$node.'%';
$portquery = mysql_query("SELECT service_description FROM service WHERE host_name='$host_name' AND service_description LIKE '$ge'") or die(mysql_error());
while($portarray = mysql_fetch_array($portquery)){
$port = substr($portarray['service_description'],8,10);
echo '<div id="'.$port.'_'.$host_name.'">'.$port.'</div>';
}
echo '<br />';
}
SQL例如:
+-------------------+----------------------------------+
| host_name | service_description |
+-------------------+----------------------------------+
| switch_host_name | IF 151: ge-0/0/28.0 - Status |
| switch_host_name | IF 153: ge-0/0/29 - Status |
| switch_host_name | IF 155: ge-0/0/3 - Description |
| switch_host_name | IF 155: ge-0/0/3 - Status |
| switch_host_name | IF 155: ge-0/0/3.0 - Traffic |
| switch_host_name | IF 195: ge-0/0/5 - Description |
| switch_host_name | IF 195: ge-0/0/5 - Status |
| switch_host_name | IF 195: ge-0/0/5.0 - Traffic |
+-------------------+----------------------------------+
任何線索,鏈接,導遊,TUTS,你可以點我是非常讚賞。 當然,一個解決方案將是偉大的!
在此先感謝。
謝謝,它真的很好!只有一件事,結果是僅僅通過ge-0/0/x中的第一個數字x來排序。例如:ge-0/0/1到ge-0/0/19出現在ge-0/0/2之前。任何解決方案? – fierflash 2012-04-07 06:04:18
不是真的,除非你進一步拆分組件。它由於'/'字符而被排序爲一個字符串。因此,我建議將各個位按摩到自己專用的適合類型的字段中。 – 2012-04-07 17:14:41