2017-08-20 21 views
-2

關於我的其他問題: IP Accounting to SQL Database傳輸IP記帳單排表

我需要與我寫的劇本其他幫助。我想要另一個腳本來獲取除表格中的數據包之外的所有信息,然後我想將它放到另一個表格中,但只有單行信息,腳本必須檢查每一個來源,目的地和字節表(我不擔心數據包)並將其存儲到另一個表中,因此它將每個IP地址上傳和下載的總帶寬相加。

所以它必須與一個名叫列ip地址,另一個叫downloadtransfer,另一個叫uploadtransfer,另一個叫totaltransfer(添加兩個上傳和下載以及最後的時間戳其存儲到一個表。

我該怎麼辦是什麼?我試圖獲得來自這兩個表的信息,但對如何做到這一點,有它檢查對方也不選擇每列最多添加存儲到一個新的表不能完全確定。

<?php 
include 'config.php'; 

$conn = mysqli_connect($SQLserver, $SQLusername, $SQLpassword, $SQLdatabase); 

$query = "SELECT * FROM users" and "SELECT * from datapackages"; 


$result = mysqli_query($conn,$query); 

echo "<table>"; 
echo "<tr><th>username</th><th>datapackageid</th><th>datapackagename</th> 
<th>datalimit</th></tr>"; 

while($row = mysqli_fetch_array($result)) { 
$username = $row['username']; 
$datapackageid = $row['datapackage']; 
$datapackagename = $row['datapackagename']; 
$datalimit = $row['datalimit']; 
echo "<tr><td>".$username."</td><td>".$datapackageid."</td> 
<td>".$datapackagename."</td><td>".$datalimit."</td></tr>"; 
} 

echo "</table>"; 
?> 

代碼來自評論問題:

<?php 

include ("config.php"); 
$conn = mysqli_connect($SQLserver, $SQLusername, $SQLpassword, $SQLdatabase); 

$query = "SELECT src_address, SUM(bytes) FROM ipaccounting GROUP BY src_address"; 

$result = mysqli_query($conn,$query); 

echo "<table>"; 
echo "<tr><th>src_address</th><th>Bytes</th></tr>"; 

while($row = mysqli_fetch_array($result)) { 
$src_address = $row['src_address']; 
$bytes = $row['bytes']; 
echo "<tr><td>".$src_address."</td><td>".$bytes."</td></tr>"; 
} 

echo "</table>"; 
mysqli_close($conn); 
?> 
+0

您應該嘗試**自己編寫代碼**。 [做更多的研究](https://meta.stackoverflow.com/q/261592/1011527) 如果你有問題**發佈你已經嘗試過**的**清楚解釋什麼不是working **和 提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 閱讀[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

+0

嗨,對不起,我試圖寫代碼,將編輯我的問題。 –

+0

一定要包含源表的架構 –

回答

0

我會建議使用您存儲在表中的數據,從您鏈接的其他問題存儲,然後從中選擇數據。而這是你的插入查詢,從其他問題存儲數據:

$sql = "INSERT INTO accounting (src_address, dst_address, bytes, packets) VALUES ('$src', '$dst', '$bytes', '$packets')"; 

如果你想獲得被傳爲某個源IP地址的總字節數:

$sql = "SELECT src_address, SUM(bytes) AS total_bytes FROM accounting GROUP BY src_address"; 

或者你可以通過目標地址以及通過將src_address更改爲dst_address來完成。

這樣做很好,因爲您已經存儲了數據。當數據已經存在時,沒有理由以其他格式複製數據。

+0

謝謝,下班後將測試:) –

+0

當我嘗試時,我得到這個:警告:mysqli_fetch_array()期望參數1是/ var/www/html/oneIT/displayaccounting中給出的mysqli_result,布爾值。PHP的第13行 src_address \t dst_address \t字節 13號線:而($行= mysqli_fetch_array($結果)){ –

+0

沒有一個代碼示例,我不知道它是什麼,你真正嘗試。我剛剛給你一個SQL查詢來運行。您看到的錯誤與我提供給您的查詢不符。 –