不调用第二个函数的嵌套php函数
下面的代码是一个相当复杂的函数(不调用第二个函数的嵌套php函数,php,sql,function,Php,Sql,Function,下面的代码是一个相当复杂的函数(display_analysis();),其中包含另一个包含多个变量的函数(analysis_column();)。我承认我不知道为什么这应该或不应该起作用。我知道有很多变量可能会导致问题,而嵌套的php函数并不理想,但是我只需要一些关于当前问题的建议,即analysis_column()功能不工作 第一个函数display_analysis(): 这是最初调用函数的地方: if (isset($_GET['display_analyses'])) { $
display_analysis();
),其中包含另一个包含多个变量的函数(analysis_column();
)。我承认我不知道为什么这应该或不应该起作用。我知道有很多变量可能会导致问题,而嵌套的php函数并不理想,但是我只需要一些关于当前问题的建议,即analysis_column()代码>功能不工作
第一个函数display_analysis()代码>:
这是最初调用函数的地方:
if (isset($_GET['display_analyses'])) {
$order_id = $_GET['display_analyses'];
if ($_GET['analysis_type'] == 'Microbiological') {
display_analyses('Microbiological');
} elseif ($_GET['analysis_type'] == 'Chemical') {
display_analyses('Chemical');
}
}
同样,我知道我的php脚本编写方法需要工作,我应该使用准备好的语句,尽管我只需要函数问题的解决方案。什么是“不工作”的意思?结果是空的。我假设满足了这个条件:$row['step.'$number]==''
是的,我分别测试了这两个函数,它们都正常工作。只有当它们嵌套时,第二个函数才不起作用。“不起作用”的含义是什么?结果是空的。我假设满足此条件:$row['step.'.'$number]=''
是的,我分别测试了两个函数,它们都起作用。只有当它们嵌套时,第二个函数才不起作用。
function analysis_column($number) {
require 'dbh.php';
global $output;
global $row;
global $order_id;
if ($row['step_'.$number] == '') {
$output .= '<td></td>';
} elseif ($row['step_'.$number.'_progress'] == 'Completed') {
$analyst_single = $row['step_'.$number.'_analyst'];
$sql3 = "SELECT * FROM employee_database WHERE id=$analyst_single";
$result3 = mysqli_query($conn, $sql3);
$input3 = mysqli_fetch_assoc($result3);
$output .= '<td style="color:green;"><form>
<input class="hidden" name="order_id" value="'.$order_id.'">
<input class="hidden analysis_number" name="this_analysis_number" value="'.$number.'">
<input class="hidden" name="order_id" value="'.$order_id.'">
<input class="hidden" name="m_analysis_id" value="'.$row['m_analysis_id'].'">
<input class="hidden analysis_id" name="analysis_id" value="'.$row['analysis_id'].'" readonly>
<input name="step_number" class="step_'.$number.' analysis_progress_check" type="checkbox" checked disabled>'.$row['step_'.$number].'<br><em>'.$input3['first_name'].' '.$input3['last_name'].'</em> | <i class="completed_analysis_link fas fa-info"></form></i></td>';
} else {
$output .= '<td><form id="analysis_form" class="analysis_progress">
<input class="hidden" name="order_id" value="'.$order_id.'">
<input class="hidden" name="m_analysis_id" value="'.$row['m_analysis_id'].'">
<input class="hidden analysis_number" name="analysis_number" value="'.$number.'">
<input class="hidden analysis_id" name="analysis_id" value="'.$row['analysis_id'].'" readonly>
<input title="Analysis Pending" name="step_number" class="step_'.$number.' analysis_progress_check" type="checkbox">'.$row['step_'.$number].'';
if ($row['step_'.$number.'_duration'] != '') {
$output .= '
<input class="hidden" name="duration_'.$number.'" value="'.$row['step_'.$number.'_duration'].'" readonly>
<input title="Step Duration" value="Step duration: '.$row['step_'.$number.'_duration'].' (hh:mm)" placeholder="Step duration: '.$row['step_'.$number.'_duration'].' (hh:mm)" readonly>';
} if ($row['step_'.$number.'_date_prev'] == 'Yes') {
$output .= '<input title="Enter an additional date to the step" name="date_prev_'.$number.'" type="date" value="">';
} if ($row['step_'.$number.'_storage'] == 'Yes') {
$sql4 = "SELECT * FROM storage_database WHERE storage_type='cold_store';";
$result4 = mysqli_query($conn, $sql4);
$output .= '
<input title="Select a storage location for this step" name="storage_location_'.$number.'" placeholder="Select a Storage Location" list="storage_location_list">
<datalist id="storage_location_list">';
while ($row2 = mysqli_fetch_assoc($result4)) {
$output .= '<option>'.$row2['storage_name'].' <em>('.$row2['storage_temp'].' ℃)</em></option>';
}
$output .= '</datalist>';
} if ($row['step_'.$number.'_incubation'] == 'Yes') {
$sql5 = "SELECT * FROM storage_database WHERE storage_type='incubator';";
$result5 = mysqli_query($conn, $sql5);
$output .= '
<input title="Select a incubator for this step" name="incubation_'.$number.'" placeholder="Select a Incubator" list="incubation_list">
<datalist id="incubation_list">';
while ($row3 = mysqli_fetch_assoc($result5)) {
$output .= '<option>'.$row3['storage_name'].' <em>('.$row3['storage_temp'].' ℃)</em>';
}
$output .= '</datalist>';
} if ($row['step_'.$number.'_input'] == 'Yes') {
$output .= '<input title="Input some additional step information..." name="ex_input_'.$number.'" placeholder="Input some additional step information..." value="">';
}
$output .= '</form></td>';
}
}
if (isset($_GET['display_analyses'])) {
$order_id = $_GET['display_analyses'];
if ($_GET['analysis_type'] == 'Microbiological') {
display_analyses('Microbiological');
} elseif ($_GET['analysis_type'] == 'Chemical') {
display_analyses('Chemical');
}
}