通过URL传递价值并通过$ _GET获得价值
问题描述:
我是一名PHP新手,因此请体谅。
我试图通过URL将doc_id(在下面的代码中)传递给另一个页面。不幸的是,在地址栏显示出来,当我点击这个链接,是DOC_ID =
echo'<td><a href="view_profile.php?doc_id='.$row[doc_id].'" onclick="return confirm(\'Do you wish to view this record?\');">View Profile</a></td>';
此链接实际工作的其他页面。我无法弄清为什么它不能在我现在使用的那个上运行。有任何想法吗?
任何建议将不胜感激。
该行是这样的:
if($SearchBySpec) { $query="SELECT * FROM doctor where specialization='$SearchBySpec'"; $result=mysql_query($query) or die('Error executing select query'.mysql_error());
echo'<table border="1" cellspacing="1">'; echo'<tr align="center">'; echo'<td bgcolor=#81F7D8 width="80" class="auto-style2"><strong>Specialization</strong></td>'; echo'<td bgcolor=#81F7D8 width="80" class="auto-style2"><strong>Last Name</strong></td>'; echo'<td bgcolor=#81F7D8 class="auto-style2" style="width: 103px"><strong>First Name</strong></td>'; echo'<td bgcolor=#81F7D8 width="80" class="auto-style2"><strong>Middle Initial</strong></td>'; echo'<td bgcolor=#81F7D8 width="90" class="auto-style2"><strong>School</strong></td>'; echo'<td bgcolor=#81F7D8 width="80" class="auto-style2"><strong>Hospital Assigned</strong></td>';
while($row=mysql_fetch_array($result)) { echo "<tr align=center>"; echo "<td>$row[specialization]"; echo "<td>$row[last_name]"; echo "<td>$row[first_name]"; echo "<td>$row[middle_name]"; echo "<td>$row[school]"; echo "<td>$row[hospital_assigned]";
}
//echo"<td><a href='view_profile.php?doc_id=".$row[doc_id]."'>View Profile</a></td>"; echo'<td><a href="view_profile.php?doc_id='.$row[doc_id].'" onclick="return confirm(\'Do you wish to view this record?\');">View Profile</a></td>'; //echo'<td><a href="view_profile.php?doc_id='.$row[doc_id].'" onclick="return confirm(\'Do you wish to view this record?\');">View Profile</a></td>'; echo "<tr><td>There are ". mysql_num_rows($result). " record(s)found.</td></tr>"; echo "</table>" ;
}
答
DOC_ID需要加引号。
$row['doc_id'];
此外,你在哪里定义$行?如果是这样的话:
$row=$_GET; // or
$row['doc_id']=$_GET['doc_id'];
然后你很好。
答
那么,显然$row
变量没有一个doc_id
(你应该引用,顺便说一句:$row['doc_id']
)。听起来好像在这条线之前可能出现了问题。尝试执行print_r($row)
以查看您实际拥有的数据。
此外,请确保您打开了错误报告。 PHP试图通过忽略错误为新用户带来一点点友善 - 起初很好,但最终只是隐藏了真正的问题。
好吧,$行不包含你认为它包含的内容 - var_dump($ row)并且看看你得到了什么,并且确保你已经启用了所有的错误报告。 – 2012-03-11 10:18:10
听起来像$ row [doc_id]是空的。如果你var_dump($ row)'',你会得到什么? – 2012-03-11 10:18:41
尝试显示$ row [doc_id]。它显示了什么? – Oleg 2012-03-11 10:19:37