我有一个网站,目前有一个写的搜索表格是ASP。搜索调用我的SQL数据库并将结果放入一个表中,每个搜索结果都有可点击的图像到HTML页面。目前我正在通过SQL表中的字段对结果进行排序。每个搜索结果的代码如下:
<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>
我想要做的是点击链接后,它会向SQL数据库发送更新,并为视图计数添加+1。这样我可以将我的排序更改为查看计数,并在搜索结果的顶部获得最受欢迎的链接。 SQL数据库的主键是“地址”字段,如果这有助于增加视图计数。
任何对此的帮助都会非常感激,因为我似乎处于编程知识的极限。
- 更新#1 -
所以我正在尝试解决这个问题。我可以将用于更新SQL数据库的代码添加到这样的链接中吗?它似乎没有用。
<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html" onclick="UPDATE dbo.main SET pageview=pageview+1 WHERE address=<%# DataSet1.FieldValue("address", Container) %>"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>
我不确定我是否必须以另一种方式称呼它。我正在努力。
- 更新#2 -
所以我尝试再次更改代码以便解决这个问题。所以现在我试图通过一个函数传递它,因为我不认为它将在超链接中工作。所以这就是我所做的:
<a
href="model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"
onclick="UpdateDB(<%# DataSet1.FieldValue("address", Container) %>)"
>
<img
src="model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg"
width="400"
border=0
/>
</a>
这就是功能:
function UpdateDb(@address)
{
SELECT pageview FROM dbo.main WHERE address=@address
UPDATE pageview=pageview+1 FROM dbo.main WHERE address=@address
}
非常感谢任何帮助。
答案 0 :(得分:0)
如果您可以将index.html更改为index.aspx来解决此问题,那么您尝试的方法可以成功:
使用查询字符串变量,但它基于index.html可以更改为index.aspx的假设:
<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) html"
<img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
/plan-1st-floor.jpg" width="400" border=0/>
</a>
在index.html末尾添加查询字符串变量,如下所述:
<a href="/model-homes/<%# DataSet1.FieldValue("address", Container)%>
/index.aspx?name=<%# DataSet1.FieldValue("address", Container) %>"
<img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
/plan-1st-floor.jpg" width="400" border=0/>
</a>
如果index.html无法更改为index.aspx,则创建中间页面以从index.html?name=<%# DataSet1.FieldValue("address", Container) %>
移动到newpage.aspx
,在页面加载功能上执行更新到数据库的处理,然后重定向回index.html。