|
|
|
คืออยากจะส่งค่าจาก chkbox เมื่อเลือก 1 ครั้ง แล้วให้ส่งไป 8 ค่าได้มั้ยครับ |
|
|
|
|
|
|
|
คืออยากจะส่งค่าจาก chkbox เมื่อเลือก 1 ครั้ง แล้วให้ส่งไป 8 ค่าได้มั้ยครับ เช่น เลือก "สถานะอุปกรณ์" ก็จะส่ง ifAdminStatus.101 - ifAdminStatus.108 ไปเข้ากระบวนการของ ฟังก์ชันที่ได้เขียนโปรแกรมรองรับไว้แล้ว ปัญหาคือ พอส่งifAdminStatus.101 - ifAdminStatus.108 ไป มันเป็นก้อนเดียวเลย มันไม่ได้แยกแบบว่า เข้าไป 101 แล้ว ประมวลผลออกมา 102 เข้าไป แบบเนี้ย ครับ
***********อันนี้โค้ดหน้าแรกครับ********************
Code (PHP)
<?
$host = "localhost";
$username="root";
$password = "1234";
$dbname = "ap_via_gm";
mysql_connect($host,$username,$password) or die("ไม่สามารถติดต่อเซิร์ฟเวอร์ฐานข้อมูลได้");
//select database เลือกฐานข้อมูล
mysql_select_db($dbname) or die("ไม่สามารถเลือกฐานข้อมูลได้");
?>
<form method="post" action="mng_device2.php" name="frmContact">
<center>
<h2>ข้อมูลของอุปกรณ์</h2><BR><BR><BR>
<table width ="800" border ="1">
<tr align ="center">
<td>เลือก</td>
<td>หมายเลข ip address</td>
<td>ชื่ออุปกรณ์</td>
<td>สถานะอุปกรณ์</td>
<td>สถานะผู้ใช้</td>
<td>พอร์ท</td>
<td>เวลาที่ใช้</td>
</tr>
<?
// select ข้อมูลจาก ฐานข้อมูลมาแสดง
$sql = "SELECT ap_serial, ap_ip, numport FROM access_point WHERE ap_use = 'use'";
$dbQuery = mysql_query($sql);
while($result = mysql_fetch_array($dbQuery)){
$ap_ip = $result["ap_ip"];
$port = $result["numport"];
echo "<tr>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=$ap_ip></td>";
echo "<td align =center>$ap_ip</td>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=sysDescr.0 ></td>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=ifAdminStatus.101></td>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=ifOperStatus.101></td>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=ifDescr.101></td>";
echo "<td align =center><input type=checkbox name=chkCmd[] value=ifLastChange.101></td>";
echo "<td align =center><input type=submit name=submit value=click onclick=return chkFormContacts()></td>";
echo "</tr>";
}//end for
}
?>
</table>
</center>
</form>
***********************อันนี้โค้ดหน้าที่เมื่อเลือกแล้วจะส่งค่าไป***************************
Code (PHP)
<?php
$host = "localhost";
$username="root";
$password = "1234";
$dbname = "ap_via_gm";
mysql_connect($host,$username,$password) or die("??????????????????????????????????????");
mysql_select_db($dbname) or die("??????????????????????????");
$sql = "SELECT ap_ip, numport FROM access_point WHERE ap_use = 'use'";
$dbQuery = mysql_query($sql);
include("mibtest.php");
$ip = "192.168.2.10";
for($i=1;$i<count($_POST["chkCmd"]);$i++){
$check = $_POST["chkCmd"];
foreach ($check as $ch){
//echo $ch."<br>";
echo $i."<br>";
$command = $ch;
$display = fnc_snmp($ip,$command);
echo $display."<br>";
}
}
?>
**********************สุดท้ายเป็นโค้ด ฟังก์ชัน ครับ*************************
Code (PHP)
<?
function fnc_snmp($ip,$command)
{
$snmpAdmin = sprintf("c:\usr\bin\snmpget -v 2c -c public %s %s",$ip,$command);
$snmpResult = exec($snmpAdmin);
list($data1, $data2) = preg_split('[=]', $snmpResult); //?????
list($data1, $data2) = preg_split('[:]', $data2); //?????
return $data2;
}
?>
ขอบคุณมากๆครับ
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2012-06-08 00:52:12 |
By :
oletheory |
View :
1029 |
Reply :
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ค่าที่ได้จากการถามอุปกรณ์ครับ เช่น up(1) เป็นต้นครับ
คือพี่ครับ อยากได้เมลพี่อะครับ หรือ วิธีติดต่อพี่ยังไงก้ไดอะครับ ผมอยากอธิบายให้มันเข้ใจกว่านี้ ผมติดอันนี้อันเดียว ไม่งั้นผมจบแล้วอะครับ
ขอบคุณครับๆๆๆ
|
|
|
|
|
Date :
2012-06-08 09:33:35 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือถ้าสมมุติเลือก
Code (PHP)
echo "<td align =center><input type=checkbox name=chkCmd[] value=ifAdminStatus.101></td>";
ก่อจะให้มันเลือก ประเภทที่อยู่ใน ifAdminStatus.101 มา 8 อันหรือทั้งหมดแบบนี้หรือป่าว ผมเข้าใจถูกป่าวอะ
|
|
|
|
|
Date :
2012-06-08 09:58:54 |
By :
keng_ds |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนีครับ สิ่งที่ผมหาคือ snmp protocol คำสั่งที่ผมใช้หาคือ
snmpget -v 2c -c public 192.168.2.10(ip ที่เอามาจากการเลือก) ifAdminStatus.101(เป็นการถามสถานะการทำงานของอุปกรณ์)
คือ อุปกรณ์อะมันจะมีจำนวนพอร์ท ไม่เท่ากันใช่มะ แล้วแต่ยี่ห้อ คือไอจำนวนพอร์ทเนี่ยผมจะ add เข้าไปใน database แล้วว่า อุปกรณ์ ตัวนั้น
มีจำนวนพอร์ทเท่าไหร่ คือผมจะเอาจำนวนพอร์ทเนี่ย มาเป็นตัวในการหาค่า คือ ถ้าอุปกรณ์มี 8 พอร์ท ค่าที่ได้เช่น สถานะการทำงานของ
อุปกรณ์จะต้องออกมาทั้งหมด 8 ค่า เช่น up(1) down(2) down(2) down(2) down(2) down(2) down(2) down(2)
**ส่วนปัญหาของผมคือ ไม่สามารถเลือกแล้วให้มันส่งไปทีละค่า แต่มันจะส่งไปทีเดียวติดๆกันเลย เช่น
ifAdminStatus.101ifAdminStatus.102ifAdminStatus.103ifAdminStatus.104ifAdminStatus.105ifAdminStatus.106ifAdminStatus.107ifAdminStatus.108 (ผมเข้าใจแบบนี้นะ ว่ามันส่งไปเป็นชุดเดียวแบบนี้)
ผมต้องการให้มันส่งเข้าไปทีละค่า แล้วคิดผลลัพธ์กลับมา แล้ว ค่อยส่งกลับไปใหม่ แบบนี้จนครบ 8 รอบ จะได้หรือไม่ โดยจำนวนรอบะขึ้นอยู่
กับค่า numport ใน database ครับ
***ผมขาดตรงนี้อย่างเดียวไม่รู้จะทำยังไงจิงๆ ใครช่วยได้ช่วยหน่อยครับ ถ้าแบบว่า คุยทาง msn หรือ ทางโทรศัพท์ จะขอบคุณมากๆครับ
|
|
|
|
|
Date :
2012-06-08 11:17:53 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆๆ
|
|
|
|
|
Date :
2012-06-08 11:39:43 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆๆๆ
|
|
|
|
|
Date :
2012-06-08 12:42:58 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆ
|
|
|
|
|
Date :
2012-06-08 14:07:58 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอจะเข้าใจละ
pm มาหาผมก็ได้ครับ
เพื่อจะช่วยได้
|
|
|
|
|
Date :
2012-06-08 14:17:01 |
By :
billbox |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผม PM ไปแล้วครับ ไม่รู้ได้รับมั้ย [email protected] ครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-06-08 14:25:00 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆครับ
|
|
|
|
|
Date :
2012-06-08 15:12:51 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆ
|
|
|
|
|
Date :
2012-06-08 20:24:03 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆๆ
|
|
|
|
|
Date :
2012-06-08 23:24:24 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใครพอจะเป็นเรื่องนี้ ช่วย add msn ผมมาทีครับ [email protected]
|
|
|
|
|
Date :
2012-06-09 14:11:04 |
By :
oletheory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ rang ไปประยุกต์ได้ไม๊ครับ ผมเห็นกระทู้ยาวนึกว่าได้แล้ว
foreach (range(1, 8) as $number) {
echo $number."<br>";
}
|
|
|
|
|
Date :
2012-06-10 14:35:20 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่ามีหลายวิธีที่จะทำนะครับ
1.ถ้าค่าที่ส่งมามีรูปแบบตายตัว เราก็เอามาสับเอาเฉพาะตัวเลขเริ่มต้นกับสิ้นสุด แล้วก็ใช้ loop for เอา
เช่น
ifAdminStatus.101 - ifAdminStatus.108
เราก็ explode ค่า " - " ก่อน ก็จะได้มาเป็น
ifAdminStatus.101 กับ ifAdminStatus.108
ก็เอามา explode ด้วย "." อีกที เราก็จะได้เลข 101,108 มา
เราก็เอามา for($i=101;$i<=108;$i++){........}
จบ
2.อาจจะใช้ DB ช่วยเช่น เราก็แอดใน DB ไว้เลยว่า ถ้าส่งค่ามาเป็น ifAdminStatus.101 - ifAdminStatus.108
ก็ไป select มาว่าจะให้เริ่มต้นจากเลขไหน?(101) แล้วนับไปกี่ค่า(7)
ได้จำนวนเริ่มต้นกับจำนวนรอบมา เราก็เอามาเข้า loop จบ
3. Fix ไว้ใน Code เลยว่าถ้าเลือกตัวไหนมาให้ทำกี่ครั้ง? ยังไง? ............
...
..
.
ลองคิดดูครับ มันมีวิธีอ้อมอีกเยอะ
|
|
|
|
|
Date :
2012-06-11 10:18:32 |
By :
iamatomix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|