Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从单选按钮选择创建动态列表_Php_Html - Fatal编程技术网

Php 从单选按钮选择创建动态列表

Php 从单选按钮选择创建动态列表,php,html,Php,Html,我不知道是否有人能帮我 我将下面的代码放在一起,尝试允许用户通过单选按钮选择来检索mySQL记录,然后在我的html表单上填充一个表 表格 <html> <head> <script type="text/javascript"> function ajaxFunction(name) { var browser = navigator.appName; if(browser == "Microsoft Internet Explorer") { xmlh

我不知道是否有人能帮我

我将下面的代码放在一起,尝试允许用户通过单选按钮选择来检索mySQL记录,然后在我的html表单上填充一个表

表格

<html>
<head> 
<script type="text/javascript">

function ajaxFunction(name)
{
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}
else
{// code for IE6, IE5
xmlhttp=new XMLHttpRequest();

}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("my_div").innerHTML=xmlhttp.responseText;
}
}

xmlhttp.open("GET","getrecords.php?dateoftrip="+name,true);
xmlhttp.send();
}

function getquerystring() {
var form = document.forms['frm1'];
var word = form.word.value;
qstr = 'w=' + escape(word); // NOTE: no '?' before querystring
return qstr;
}


</script>


<style type="text/css">
<!--
.style1 {
    font-family: Calibri;
    font-size: 14px;
}
-->
</style>
</head>
<body>

<form action="getrecords.php" method="get" name="frm1">

<table width="148" border="0">

<tr>
<td width="152"><p class="style1">Select a date from below</p>
  <div align="center">
    <?php
include("db.php");
$query="select userid, dateoftrip from finds group by dateoftrip";
$result=mysql_query($query);
while (list($userid, $dateoftrip) =
    mysql_fetch_row($result))
  {

    echo"<tr>\n"
    .
     '<td><input type='radio' name='name' dateoftrip value='{$userid}' onchange="ajaxFunction(this.value)"/></td>\n'
    .'<td><small>{$dateoftrip}</small><td>\n'
    .'</tr>\n'
  }
  echo"<tr><td colspan=\"3\">";
  echo"<br>";
  echo"</td></tr>";
  echo'</table>';

?>
  </div></td>
</tr>
</table>
</form>
<div id="my_div"></div>
</body>
</html>

函数ajaxFunction(名称)
{
var browser=navigator.appName;
如果(浏览器==“Microsoft Internet Explorer”)
{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
其他的
{//IE6、IE5的代码
xmlhttp=新的XMLHttpRequest();
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“my_div”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“getrecords.php?dateoftrip=“+name,true”);
xmlhttp.send();
}
函数getquerystring(){
var form=document.forms['frm1'];
var word=form.word.value;
qstr='w='+转义(word);//注意:在querystring之前没有“?”
返回qstr;
}

从下面选择一个日期

getrecords.php

<?php
include("db.php");
$dateoftrip= $_GET['dateoftrip'];
$findname= $_GET['findname'];
$finddescription= $_GET['finddescription'];

$query="select * from finds where dateoftrip='$dateoftrip'";
echo "<table>";
$result=mysql_query($query);
while($rows=mysql_fetch_array($result)){

echo "<tr>";
echo "<td>Find Name : </td>";
echo "<td>".$rows['findname']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Find Description : </td>";
echo "<td>".$rows['finddescription']."</td>";
echo "</tr>";
}
echo "</table>";
?> 

我遇到的问题是,我收到了以下错误,但我不确定原因:
解析错误:语法错误,意外的T_字符串,应为“,”或“;”在第69行的/homepages/2/d333603417/htdocs/development/ajaxfunction.php中
第69行是我的html表单代码的这一行:
'\n'

我已经为此工作了一段时间,到目前为止,我还没有成功地解决它。我只是想知道是否有人可以看看这个,请让我知道我错在哪里


非常感谢

你在那一行的报价是错误的。对外部字符串使用双引号,这样变量会被插入,而像
\n
这样的转义字符不会被解释为文字

回显“\n”     . “\n” .{$dateoftrip}\n .“\n”; //------^^^^缺少分号

您还可以通过以下方法更清晰地完成此任务,并完全避免引用问题和Linebrek:

  echo <<<HTML
    <tr>
    <td><input type='radio' name='name' dateoftrip value='{$userid}' onchange='ajaxFunction(this.value)'/></td>
    <td><small>{$dateoftrip}</small><td>
    </tr>
HTML;
换成这个

 echo"<tr>\n"
    .
     "<td><input type='radio' name='name' dateoftrip value='{$userid}' onchange="."ajaxFunction(this.value)"."/></td>\n"
    ."<td><small>{$dateoftrip}</small><td>\n"
    ."</tr>\n";
echo“\n”
.
“\n”
.{$dateoftrip}\n
.“\n”;

您需要转义这些引号,并在echo语句末尾添加分号

echo "<tr>\n <td><input type='radio' name='name' dateoftrip value='$userid' onchange=\"ajaxFunction(this.value)\"/></td>\n <td><small>$dateoftrip</small><td>\n</tr>\n";
echo“\n\n$dateoftrip\n\n”;

OP代码中的那一行还缺少一个分号。@jprofitt感谢上面提到的。这就是为什么我提倡使用HEREDOCs而不是多行连接…嗨,HEREDOCs对我来说肯定是新的,我必须看看这些。并对SQL注入进行了适当的说明。非常感谢您抽出时间回复。我现在已经消除了错误消息,但不幸的是,我无法创建包含检索到的记录的表。你能告诉我,你知道我哪里出了问题吗?很多感谢,您在创建表时有什么错误?没有显示任何内容或?嗨,很遗憾我没有收到任何错误。我附上了一个链接到我的网页,以突出这一点更好。好样的,你有两次了,删除第一次,很多次。我已经做了更改,但不幸的是,我仍然无法从“getrecords.php”脚本中获取记录。非常感谢您抽出时间回复我的帖子。如上所述,谢天谢地,我现在能够消除错误消息,但不幸的是,我无法创建包含检索结果的表。问候
echo "<tr>\n <td><input type='radio' name='name' dateoftrip value='$userid' onchange=\"ajaxFunction(this.value)\"/></td>\n <td><small>$dateoftrip</small><td>\n</tr>\n";