我需要在url,$ id和$ job中设置两个变量。数据应来自mysql select语句,[id]和[job_number_id]。我的页面显示客户端作业提议,如果有多个提案显示,但[id]和[job_number_id]确定网页上显示的内容。我不知道如何做到这一点。任何帮助将不胜感激。这是代码:
<?php
$url = 'http://localhost/estimate_lar/homepage.php';
$id = $_SESSION['id'];
$query = "SELECT id, client_job_name, job_number_id
FROM `job_name`
WHERE `id`='$id'";
$allJobs = $db->query($query);
?>
<?php foreach ($allJobs as $site_title) : ?>
<p>
<tr><?php echo '<a href="'.$url.'">'.$site_title['client_job_name'],$site_title['job_number_id']. '<br />'.'</a>'; ?>
<td></td>
</tr>
</p>
<?php endforeach; ?>
答案 0 :(得分:3)
如果您希望变量在网址中可用,则需要使用$_GET
阅读它们。
从index.php?id=1&job_number_id=3
等网址获取参数将如下所示:
if (isset($_GET['id']) && isset($_GET['job_number_id'])) {//make sure both arguments are set
$id = $_GET['id'];
$job_number_id = $_GET['job_number_id'];
}
在foreach声明中设置它:
<?php foreach ($allJobs as $site_title) : ?>
<p>
<tr><?php
$url = "http://localhost/estimate_lar/homepage.php?id=" . $site_title['id'] . "&job_number_id=" . $site_title['job_number_id'];
echo '<a href="'.$url.'">'.$site_title['client_job_name'],$site_title['job_number_id']. '<br />'.'</a>';
?>
<td></td>
</tr>
</p>
<?php endforeach; ?>
请记得阅读有关SQL注入的信息并确保您正在逃避输入。甚至更好 - 使用准备好的声明。
目前您的脚本是可以使用的,因为每个人都可以更改URL并操纵您的数据库。
希望这有帮助!
答案 1 :(得分:0)
试试这个。
<?php
session_start();
$id = $_SESSION['id'];
$url = 'http://localhost/estimate_lar/homepage.php';
if($id){
$query = "SELECT id, client_job_name, job_number_id FROM `job_name` WHERE `id`='$id'";
$allJobs = $db->query($query);
}else{
echo "Id not in session";
}
?>
<table>
<?php if ($allJobs) { foreach ($allJobs as $site_title) : ?>
<tr>
<td>
<a href="<?php echo $url; ?>?client_job_name=<?php echo $site_title['client_job_name'];?>&job_number_id=<?php echo $site_title['job_number_id'];?> "> <?php echo $site_title['job_number_id']. " ".$site_title['job_number_id']; ?></a>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php }else{ echo 'No results Found' ;} ?>
这可能会对你有帮助。