我现在通过JS代码去获取计算机上的硬件、操作系统、软件等信息
目前的想法是在数据库中建立两个表、一个硬件及系统信息,一个软件信息表 在这个俩表中再建立联系,能够进行多表查询硬件及操作系统信息由于每台计算机都只有一个信息,所以很容易实现插入数据库
举例:
html
<li><h3>名称:</h3><input type ="text" id="osname" name="osname"></li>
jsfunction GetOsname(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("Select * from Win32_OperatingSystem");
var e = new Enumerator (properties);
var p = e.item();
return p.Caption;
}
$(document).ready(function(){
$("#osname").attr("value",GetOsname()); //给值
});而软件不同,每台计算机上的软件数量是不定的,现在获取方法是这样的
function GetSoft(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("Select * from Win32_Product");
var e = new Enumerator (properties);
var softlist="";
var i = 0;
for (;!e.atEnd();e.moveNext ()){
var p = e.item();
softlist = softlist + "<li><input type ='text' id='soft" + i + "' name='soft" + i + "' value='" + p.Name +"'></li>";
i = i + 1;
}
softlist = softlist + "<li><h3>软件计数:</h3><input type ='text' id='softcunt' value='" + i +"'></li>";
return softlist;
} $("#softlist").append(GetSoft());
这样获得的id就是soft1,soft2,..这样软件结果是不定的,
能不能实现每台计算机的软件在软件表中只对应一行数据?能的话,要如何做?如何建立两表的关系比较好?或者是我这样的建表思路就有问题?希望能指点下,要如何建表及建立表之间的联系谢谢
目前的想法是在数据库中建立两个表、一个硬件及系统信息,一个软件信息表 在这个俩表中再建立联系,能够进行多表查询硬件及操作系统信息由于每台计算机都只有一个信息,所以很容易实现插入数据库
举例:
html
<li><h3>名称:</h3><input type ="text" id="osname" name="osname"></li>
jsfunction GetOsname(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("Select * from Win32_OperatingSystem");
var e = new Enumerator (properties);
var p = e.item();
return p.Caption;
}
$(document).ready(function(){
$("#osname").attr("value",GetOsname()); //给值
});而软件不同,每台计算机上的软件数量是不定的,现在获取方法是这样的
function GetSoft(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("Select * from Win32_Product");
var e = new Enumerator (properties);
var softlist="";
var i = 0;
for (;!e.atEnd();e.moveNext ()){
var p = e.item();
softlist = softlist + "<li><input type ='text' id='soft" + i + "' name='soft" + i + "' value='" + p.Name +"'></li>";
i = i + 1;
}
softlist = softlist + "<li><h3>软件计数:</h3><input type ='text' id='softcunt' value='" + i +"'></li>";
return softlist;
} $("#softlist").append(GetSoft());
这样获得的id就是soft1,soft2,..这样软件结果是不定的,
能不能实现每台计算机的软件在软件表中只对应一行数据?能的话,要如何做?如何建立两表的关系比较好?或者是我这样的建表思路就有问题?希望能指点下,要如何建表及建立表之间的联系谢谢
$("#softlist").append(GetSoft());
用jquery将值给过去 for (;!e.atEnd();e.moveNext ()){
var p = e.item();
softlist = softlist + "<li><input type ='text' id='soft" + i + "' name='soft" + i + "' value='" + p.Name +"'></li>";
i = i + 1;
}我把这里的i=i+1 删掉softlist 改为
softlist = softlist + "<li><input type='text' id='soft' name='soft[]' value='"+p.Name+"'></li>";php处理
for($i=0;$i<count($soft);$i++){
if(trim($soft[$i]=='')) continue;
$sql="insert into soft(name) values('$soft[$i]')";
$result=mysql_query($sql,$link);
if($result!=0){
echo "success";
echo "<meta http-equiv='refresh' content='2;url=index.php'>";
}
else {
echo "failed";
echo mysql_error();
}
}
?>在主页面提交到这个处理的时候,页面显示index.php#info/form.php
在主页面显示undefined
这是什么问题引起的?