[求助]关于数据库的问题,不定大小

fozzainter 2012-09-11 11:29:04
我现在通过JS代码去获取计算机上的硬件、操作系统、软件等信息
目前的想法是在数据库中建立两个表、一个硬件及系统信息,一个软件信息表 在这个俩表中再建立联系,能够进行多表查询

硬件及操作系统信息由于每台计算机都只有一个信息,所以很容易实现插入数据库
举例:
html
<li><h3>名称:</h3><input type ="text" id="osname" name="osname"></li>
js

function 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,..这样软件结果是不定的,
能不能实现每台计算机的软件在软件表中只对应一行数据?能的话,要如何做?如何建立两表的关系比较好?

或者是我这样的建表思路就有问题?希望能指点下,要如何建表及建立表之间的联系

谢谢
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fozzainter 2012-09-12
  • 打赏
  • 举报
回复
或者有其他的思路也可以
Nonoooo 2012-09-11
  • 打赏
  • 举报
回复
直接设置外键不就可以了?另外,你的JS读取的信息是不是通过AJAX,我想你完成不了这个开发
fozzainter 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

直接设置外键不就可以了?另外,你的JS读取的信息是不是通过AJAX,我想你完成不了这个开发
[/Quote]

$("#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
这是什么问题引起的?
fozzainter 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

直接设置外键不就可以了?另外,你的JS读取的信息是不是通过AJAX,我想你完成不了这个开发
[/Quote]

那我获取软件的这个应该换一个思路 ?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧