На какое-то время я пытался заставить этот код работать для этой базы данных форм, но он просто не работает должным образом.
Это ввод формы без PI_ID. Это ввод формы с PI_ID.
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . "-" . $_POST['cr_modul'] . "-" . $_POST['cr_phase'] . "-" . $_POST['cr_pi_id'];
Этот выход был неисправен, поскольку выход будет CR-001-08-18- -
, если я не хочу вводить какой-либо модуль или фазу, потому что линии, расположенные за 18, не должны быть там.
В основном, выход CR-001-08-18-Marketing-PH1-PI1
, модуль (маркетинг), фаза (PH1) и PI_ID (PI1) необязательны для заполнения, чтобы он мог быть:
Это был код, в котором я пытался использовать if-else:
$phase=$_GET['cr_phase'];
$modul=$_GET['cr_modul'];
$crpid=$_GET['cr_pi_id'];
if ($phase!='' && $modul='' && $crpid='')
{
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . "-" . $_POST['cr_phase'];
}else if($phase='' && $modul!='' && $crpid='')
{
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . "-" . $_POST['cr_modul'];
}else if($phase='' && $modul='' && $crpid=!'')
{
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . "-" . $_POST['cr_pi_id'];
}else if($phase!='' && $modul!='' && $crpid!='')
{
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . "-" . $_POST['cr_modul'] . "-" . $_POST['cr_phase'] . "-" . $_POST['cr_pi_id'];
}else
{
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'];
}
Но это не работает, поскольку он просто отображает CR-001-08-18
без отображения фазы и модуля, даже когда я вводил фазу, модуль и PI_ID.
Может ли кто-нибудь помочь?
Оператор switch похож на ряд операторов IF на одно и то же выражение. Во многих случаях вам может понадобиться сравнить одну и ту же переменную (или выражение) со многими различными значениями и выполнить другой фрагмент кода в зависимости от того, какое значение оно равно. Это именно то, для чего предназначен оператор switch. http://php.net/manual/en/control-structures.switch.php
Only three if condition needed.Also check the method(GET or POST) you are using to submit the form and fetch the data accordingly or use $_REQUEST.
$phase=$_POST['cr_phase'];
$modul=$_POST['cr_modul'];
$crpid=$_POST['cr_pi_id'];
$values = "";
if($phase != '')
{
$values .= "-$phase";
}
if($modul != '')
{
$values .= "-$modul";
}
if($crpid != '')
{
$values .= "-$crpid";
}
$content = $_POST['cr_code'] . "-" . $_POST['cr_num'] . "-" . $_POST['cr_mon'] . "-" . $_POST['cr_year'] . $values;