没有使用form表单,可以直接使用action传递参数吗

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>浏览数据</title>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>
<center>
 <table width="798" border="0" cellpadding="0" cellspacing="0">
    <tr>
    	<td width="798"  height="108" background="images/banner.jpg">&nbsp;</td>
    </tr>
	<tr>
		<td>
		<table width="100%" height="38" border="0" cellpadding="0" cellspacing="0" background="images/link.jpg">
			<tr>
				<td width="193" align="center" valign="middle">
				<b><?php echo date("Y-m-d")." ";?></b></td>
				<td width="101" align="center" valign="middle"><a href="index.php">浏览数据</a></td>
				<td width="102" align="center" valign="middle"><a href="#">添加图书</a></td>
				<td width="101" align="center" valign="middle"><a href="#">简单查询</a></td>
				<td width="100" align="center" valign="middle"><a href="#">高级查询</a></td>
				<td width="101" align="center" valign="middle"><a href="#">分组统计</a></td>
				<td width="100" align="center" valign="middle"><a href="#">退出系统</a></td>
			</tr>
		</table>
		</td>
	</tr>
</table>
<table width="799" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td align="center" valign="middle">

<?php
include_once("conn/conn.php");
?>
<table width="90%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="25" width="5%" class="top">id</td>
    <td width="30%" class="top">书名</td>
    <td width="10%" class="top">价格</td>
    <td width="20%" class="top">出版时间</td>
    <td width="10%" class="top">类别</td>
	<td width="10%" class="top">操作</td>
  </tr>
<?php
	$sqlstr = "select * from tb_demo02 order by id";
	$result = mysqli_query($conn,$sqlstr);

	while ($rows = mysqli_fetch_row($result)){
		echo "<tr>";
		for($i = 0; $i < count($rows); $i++){
			echo "<td height='25' align='center' class='m_td'>".$rows[$i]."</td>";
		}
		echo "<td class='m_td'><a href=update.php?action=update&id=".$rows[0].">修改</a>/<a href='#'>删除</a></td>";
		echo "</tr>";
	}

?>
</table>
 </td>
    </tr>
</table>
 <table width="798" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td height="48" background="images/bottom.jpg">&nbsp;</td>
    </tr>
</table>
</center>
</body>
</html>

<a href=update.php?action=update&id=".$rows[0].">修改</a>

这个超链接并没有在form里,为什么还是能传递值给update.php ?

“这个超链接并没有在form里,为什么还是能传递值给update.php ?”

先回答这个,form标签是from标签,a标签是a标签,两者没有必然联系,form是通过它自己的action属性来确定地址,a标签是通过href属性。所以说你的a标签的href属性给了地址值它自然就访问update.php了,和有没有form没关系。

然后是否可以使用action传递参数,form的action属性是url值,所以当然可以使用和你写a标签href属性的方式一样来拼接字符串进行传值

<a href=update.php?action=update&id=".$rows[0].">修改</a>      文中所指的是这个超链接。

如何使用post方法改写?

可以用ajax。

如果页面需要跳转到update.php就必须要用form。
可以用js动态创建一个form。

php部分:
echo "<td class='m_td'><a href=\"javascript:addform('update.php',{action:'update',id:'".$rows[0]."'});\">修改</a>/<a href='#'>删除</a></td>";

js部分:
<script type="text/javascript">
function addform(url,op) {
	var formdom = document.createElement("form");
	formdom.method = "post";
	document.body.appendChild(formdom);
	formdom.action = url;
	for (var n in op) {
		var ip = document.createElement("input");
		ip.type = "hidden";
		ip.name = n;
		ip.value = op[n];
		formdom.appendChild(ip);
	}
	formdom.submit();
}
</script>

 

可以 ,直接把参数拼接到acton上面的请求url上面