2017-08-27 65 views
-1

现在我已经硬编码下面的PHP代码,我想两个值传递给index.php如何包含在URL

<a href="index.php?vaccineid=VI 7038&patientid=PN001"> 
<?php echo $row['vaccine'];?></a> 

我曾尝试与动态代码来取代它,但不成功

<a href="index.php?vaccineid =<?php echo "$row['vaccineid']";?> 
&patientid=<?php echo "$_SESSION['abc']"; ?>"><?php echo $row['vaccine'];?></a> 

任何想法?由于

回答

1

在双引号字符串中使用数组索引时,请勿在索引周围加引号。因此,所有你需要做的是改变

echo "$row['vaccineid']" 
echo "$_SESSION['abc']" 

要:

// Remove single-quotes around keys ['key'] => [key] 
echo "$row[vaccineid]" 
echo "$_SESSION[abc]" 

或者因为你是输出只是数组值去掉双引号:

echo $row['vaccineid'] 
echo $_SESSION['abc'] 
1

我觉得也许使用http_build_query()从手册:

<?php 
$values = array(
    'vaccineid' => $row['vaccineid'], 
    'patientid'=> $_SESSION['abc'] 
); 
?> 
<a href="index.php?<?php echo http_build_query($values) ?>"><?php echo $row['vaccineid'] ?></a> 

检查您的阵列,以确保它是你所期望的:

print_r($values); 

最后要注意,如果你有会话中的$_SESSION['abc'],不要通过GET发送,只需在处理下一页的vaccineid时从会话中检索它即可。

+0

不错的答案。你在第3行的数组键中有一个错字。应该是'vaccineid' – BeetleJuice

1

您的变量无法解析里面有双引号。

<a href="index.php?vaccineid=<?php echo urlencode($row['vaccineid']));?>&patientid=<?php echo $_SESSION['abc']; ?>"><?php echo $row['vaccine'];?></a> 

编辑:你也需要编码vaccineid,因为它包含包含空格。