我有两个表在我的分贝。结构如下:比较两个表的数据,并选中相同的数据复选框
Comparitive_st_sup
================
id | item_name
================
486 | Item1
487 | Item2
488 | Item3
489 | Item4
=================
quotation_items
=====================
item_id | item_name
=====================
487 | Item2
489 | Item4
=====================
我想要实现的是首先我需要显示的是“comparitive_st_sup”的表1中的所有记录。其次,所显示记录的下方有一个复选框。然后我需要比较表2中的数据'quotation_items'。这是如果id = item_id,那么应该检查复选框。下面是代码亚姆试图检查记录,但并不是所有的记录都被检查。我犯了什么错误吗?
<?php
include('config.php');
$sql = "SELECT item_id FROM quotation_items WHERE tender_id=150002";
$query_resource = mysql_query($sql);
$quotation = mysql_fetch_assoc($query_resource);
$quotation_rec = explode(',', $quotation['item_id']);
$sql = "SELECT id from comparitive_st_sup where tender_id=150002";
$query_resource = mysql_query($sql);
$comparitive = Array();
while($name = mysql_fetch_assoc($query_resource))
{
?>
<span><?php echo $name['id']; ?></span>
<input type="checkbox" name="comparitive[]" value="<?php echo $name['id']; ?>" <?php if(in_array($name['id'], $quotation_rec)): ?> checked='checked' <?php endif; ?>/><br />
<?php } ?>
@斯蒂芬,下面的脚本我试图尝试代码:
<?php
include('config.php');
$sql = "SELECT c.id FROM comparitive_st_sup c LEFT JOIN quotation_items q ON c.id = q.item_id WHERE c.tender_id=150002";
//$sql = "SELECT id from comparitive_st_sup where tender_id=150002";
$query_resource = mysql_query($sql);
$comparitive = Array();
while($name = mysql_fetch_assoc($query_resource))
{
?>
<span><?php echo $name['id']; ?></span>
<input type="checkbox" name="comparitive[]" value="<?php echo $name['id']; ?>" <?php if(null !== $name['item_id']): ?> checked='checked' <?php endif; ?>/><br /> <?php } ?>
'mysql_ *'已弃用。请阅读http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated – Tigger
是的,我知道..只是编辑一些已经由某人开发的代码...... Iam试图纠正一些错误.. –