使用 while 和 if 组合比较 mysql /php 中两个表的值
Comparing values of two tables in mysql /php using while and if combination
是否可以使用两个 while 语句比较两个表中的值。我正在使用以下无效的方法。请指出我的错误或建议我一些更简单的解决方案。
$sql = "select * from display where gp_no = '$gp_no' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0)
{
$s = " select date,member_no from bid where gp_no = '$gp_no ' ";
$r = mysqli_query($conn, $s);
if (mysqli_num_rows($r) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
while($row1 = mysqli_fetch_assoc($r))
{
if($row["member_no"] = $row1[ " member_no"])
{
//some code to display something
} // inner if
} // inner while
} // outer while
} // outer if
} // outermost if
if($row["member_no"] = $row1[ " member_no"])
==
而不是 =
?
编辑:
比较使用一个 while 循环,是否更适合您?它管理不同大小的表:
if (mysqli_num_rows($r) > 0)
{
$row_count = mysqli_num_rows($result);
$row1_count = mysqli_num_rows($r);
$remaining_rows = min($row_count, $row1_count);
while($remaining_rows-- > 0)
{
$row = mysqli_fetch_assoc($result);
$row1 = mysqli_fetch_assoc($r);
if($row["member_no"] == $row1["member_no"])
{
//some code to display something
}
}
}
您也可以使用不同的方法。如下所示:
$array1 = array('1','2','3');
$array2 = array('4','5','3');
foreach($array1 as $index=>$val)
{
if($val == $array2[$index])
{
// go on
}
}
您可以尝试这样的操作:
foreach($result as $index=>$val)
{
if($val->member_no == $r[$index]->member_no)
{
// go on
}
}
是否可以使用两个 while 语句比较两个表中的值。我正在使用以下无效的方法。请指出我的错误或建议我一些更简单的解决方案。
$sql = "select * from display where gp_no = '$gp_no' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0)
{
$s = " select date,member_no from bid where gp_no = '$gp_no ' ";
$r = mysqli_query($conn, $s);
if (mysqli_num_rows($r) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
while($row1 = mysqli_fetch_assoc($r))
{
if($row["member_no"] = $row1[ " member_no"])
{
//some code to display something
} // inner if
} // inner while
} // outer while
} // outer if
} // outermost if
if($row["member_no"] = $row1[ " member_no"])
==
而不是 =
?
编辑:
比较使用一个 while 循环,是否更适合您?它管理不同大小的表:
if (mysqli_num_rows($r) > 0)
{
$row_count = mysqli_num_rows($result);
$row1_count = mysqli_num_rows($r);
$remaining_rows = min($row_count, $row1_count);
while($remaining_rows-- > 0)
{
$row = mysqli_fetch_assoc($result);
$row1 = mysqli_fetch_assoc($r);
if($row["member_no"] == $row1["member_no"])
{
//some code to display something
}
}
}
您也可以使用不同的方法。如下所示:
$array1 = array('1','2','3');
$array2 = array('4','5','3');
foreach($array1 as $index=>$val)
{
if($val == $array2[$index])
{
// go on
}
}
您可以尝试这样的操作:
foreach($result as $index=>$val)
{
if($val->member_no == $r[$index]->member_no)
{
// go on
}
}