我正在用php和html构建项目 我想让一个函数具有一些条件和其他条件。
存在三个条件,其中之一不起作用,我确定这是真实条件,并尝试回显它的表达,这是真实的,它返回的提示类似于echo '';
我在存在问题的elseif旁发表了评论。
注意:所有其他条件都很好并且可以正常工作。
PHP代码:
<?php
require_once '../../router.php';
require_once '../../'.router('function', 'mini');
require_once '../../'.router('mysql', 'db');
function groups_checker()
{
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
if(isset($_GET['grade']))
{
global $db;
$get_groups_select_query = $db->query("SELECT * FROM `groups` WHERE g_grade = '".$_GET['grade']."' ORDER BY `g_max_num` DESC"); // Checking groups existence.
if(mysqli_num_rows($get_groups_select_query) > 0)
{
$get_groups_select_query_fetch = $get_groups_select_query->fetch_array(MYSQLI_ASSOC); // Fetching data after true existence.
?>
<h3>We've found <?= mysqli_num_rows($get_groups_select_query) > 1 ? mysqli_num_rows($get_groups_select_query).' groups ' : ' just a group ' ?> exist, take a look if appropriate. Or <a href="#">Create one?</a></h3>
<table width="100%" border="1" class="managing_brdr">
<tr class="titles_manage_group_main">
<td rowspan="2">Group Symbol</td>
<td rowspan="2">Group name</td>
<td rowspan="2">Group grade</td>
<td colspan="4">Appointments</td>
<td rowspan="2">Remaining places</td>
</tr>
<tr class="titles_manage_group_main">
<td>First day</td>
<td>Time</td>
<td>Second day</td>
<td>Time</td>
</tr>
<tr>
<td class="td_centering"><?= $get_groups_select_query_fetch['g_symbol']; ?></td>
<td><?= $get_groups_select_query_fetch['g_name']; ?></td>
<td class="td_centering"><?= $get_groups_select_query_fetch['g_grade']; ?></td>
<td class="td_centering"><?= $get_groups_select_query_fetch['g_fst_day']; ?></td>
<td class="td_centering"><?= dateConverter($get_groups_select_query_fetch['g_fst_d_time']); ?></td>
<td class="td_centering"><?= $get_groups_select_query_fetch['g_sec_day']; ?></td>
<td class="td_centering"><?= dateConverter($get_groups_select_query_fetch['g_sec_d_time']); ?></td>
<td class="td_centering">
<?php
if(empty($get_groups_select_query_fetch['g_max_num']))
{
?>
It's unlimited. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add</a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) > intval($get_groups_select_query_fetch['g_student_number']))
{
if(intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) == 1)
{
?>
Just 1 place left. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add<a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) == intval($get_groups_select_query_fetch['g_student_number'])) // **the issue here.**
{
?>
It's Full. <a href="">Make an exception</a>
<?php
}
else
{
echo intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) . ' places left. <a href="'.'../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'].'">Add<a>';
}
}
?>
</td>
</tr>
<table>
<?php
}
else
{
if(!empty($_GET['grade']))
{
alerts('error', 'We didn\'t find any group in '.strtolower($_GET['grade']).', <a href="#">Create one?</a>');
}
}
}
}
}
groups_checker();
?>
答案 0 :(得分:0)
问题elseif
位于另一个相互矛盾的elseif
内部。你有:
if(empty($get_groups_select_query_fetch['g_max_num']))
{
?>
It's unlimited. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add</a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) > intval($get_groups_select_query_fetch['g_student_number']))
{
if(intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) == 1)
{
?>
Just 1 place left. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add<a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) == intval($get_groups_select_query_fetch['g_student_number'])) // **the issue here.**
{
?>
It's Full. <a href="">Make an exception</a>
<?php
}
else
{
echo intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) . ' places left. <a href="'.'../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'].'">Add<a>';
}
}
我想你想要的是:
if(empty($get_groups_select_query_fetch['g_max_num']))
{
?>
It's unlimited. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add</a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) == 1)
{
?>
Just 1 place left. <a href="<?= '../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'] ?>">Add<a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) == intval($get_groups_select_query_fetch['g_student_number'])) // **the issue here.**
{
?>
It's Full. <a href="">Make an exception</a>
<?php
}
elseif(intval($get_groups_select_query_fetch['g_max_num']) > intval($get_groups_select_query_fetch['g_student_number']))
{
echo intval($get_groups_select_query_fetch['g_max_num']) - intval($get_groups_select_query_fetch['g_student_number']) . ' places left. <a href="'.'../../'.router('sections', 'students').'?action=new_student&steps=second&grade='.$get_groups_select_query_fetch['g_grade'].'">Add<a>';
}
答案 1 :(得分:-1)
使用(int)代替问题所在的(intval)。