javascript只获取第一行的变量
javascript only gets the variables of the first row
我正在尝试使用下拉列表来"实时"更新表。我只打算在内部使用这个网页。
我真的不太懂javascript,所以我需要一些帮助。
我写的脚本只得到第一行的值,所以实际上不起作用。。。
以下是两页的代码:HTML
<html>
<head>
<script>
function UpdateUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
var lastname = document.getElementById('lastname').innerHTML;
var firstname = document.getElementById('firstname').innerHTML;
var state = document.getElementById('state').innerHTML;
xmlhttp.open("GET","updateuser3.php?q="+str+"&lastname="+lastname+"&firstname="+firstname+"&state="+state,true);
xmlhttp.send();
}
</script>
</head>
<body>
<?php
$con = mysql_connect('localhost','root','');
if (!$con)
{
die('Could not connect: ' . mysql_error($con));
}
mysql_select_db("test");
$sql="SELECT lastname, firstname, state FROM author";
$result = mysql_query($sql);
echo $sql;
echo "<br />";
echo "<table border='1'>
<tr>
<th>lastname</th>
<th>firstname</th>
<th>State</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td name='lastname' id='lastname'>" . $row['lastname'] . "</td>";
echo "<td name='firstname' id='firstname'>" . $row['firstname'] . "</td>";
echo "<td><select onchange='UpdateUser(this.value)'><option name='state' id='state' value='".$row['state']."'>".$row['state']."</option>";
if ($row['state']==='CA')
{
echo '<option value="OR">OR</option>';
echo '<option value="UT">UT</option>';
echo '<option value="MI">MI</option>';
echo '</select></td>';
}
else if ($row['state']==='OR')
{
echo '<option value="CA">CA</option>';
echo '<option value="UT">UT</option>';
echo '<option value="MI">MI</option>';
echo '</select></td>';
}
else
{
echo '<option value="CA">CA</option>';
echo '<option value="UT">UT</option>';
echo '<option value="MI">MI</option>';
echo '<option value="OR">OR</option>';
echo '</select></td>';
}
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
<br>
<div id="txtHint"><b>State info will be listed here.</b></div>
</body>
</html>
php
<?php
$q=$_GET["q"];
$w=$_GET["lastname"];
$e=$_GET["firstname"];
$r=$_GET["state"];
echo "<br /> New State: ";
echo $q;
echo "<br /> Last Name: ";
echo $w;
echo "<br /> First Name: ";
echo $e;
echo "<br /> Old State: ";
echo $r;
echo "<br />";
$con = mysql_connect('localhost','root','');
if (!$con)
{
die('Could not connect: ' . mysql_error($con));
}
mysql_select_db("test");
$sql = "UPDATE author SET state = '$q' WHERE lastname = '$w' AND firstname = '$e' AND state = '$r'";
echo $sql;
echo "<br />";
mysql_close($con);
?>
有人能帮忙吗?Ty
我会从查询开始进行故障排除,看看您的查询是否返回多个结果。
在MySQL中运行SELECT lastname, firstname, state FROM author
查询。
如果这个查询返回多个结果,那么您就知道问题出在您的代码上。
我使用phpMySQL来调试我的SQL。
相关文章:
- 我已经创建了一个动态的下拉选择列表,它指向一行;如何使该行成为变量
- 一行中的多个变量赋值
- 如何在javascript中为变量设置一行setter
- 咖啡脚本一行,用于创建带有变量键的哈希图
- JavaScript 在一行上定义并返回一个变量
- 使用表单中的PHP按钮根据变量ID从MYSQL数据库表中删除一行
- 一个变量I'当我试图在下一行代码中使用ve initialized时,它是未定义的
- 是否可以使用&&并在同一行设置一个变量
- 你能用一行Javascript代码改变多个变量的相同属性吗?
- Javascript:测试regex并赋值给变量,如果它在一行中匹配
- 为什么有些变量声明在同一行,而大多数变量声明在各自的行上?
- JS error 'redeclaration'当它在程序中的第一行时,则为变量
- 设置多个变量在一行有效的javascript?(var x = y = & # 39;价值# 39;;)
- 用Ajax将变量发送到PHP文件以从Mysql中删除一行-不工作
- 在一行javascript中更改多个变量的值
- 这两个变量如何用一行来交换?
- 使用变量从html表中选择一行
- 赋值和返回变量在同一行
- 变量组合在一行 indexOf 方法(Eloquent Javascript)中
- 是否有可能压缩代码以允许多个变量而不是每个变量一行