Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP从MYSQL检索值到单选按钮?_Php_Mysql_Wordpress_Radio Button_Custom Wordpress Pages - Fatal编程技术网

如何使用PHP从MYSQL检索值到单选按钮?

如何使用PHP从MYSQL检索值到单选按钮?,php,mysql,wordpress,radio-button,custom-wordpress-pages,Php,Mysql,Wordpress,Radio Button,Custom Wordpress Pages,我有自定义页面模板。在此模板中,每个表格行中都有一个带有单选按钮的html表格。我试图从MYSQl检索单选按钮的值,但我没有运气 场景:如果用户选择“是”选项,表行将被禁用。现在,单选按钮的值是retrieve,而不是“Yes”选项的disabled 如何解决这个问题 PHP更新 if (isset($_POST['list_location']) && $_POST['list_location'] != 'Select by Location'){ $

我有自定义页面模板。在此模板中,每个表格行中都有一个带有单选按钮的html表格。我试图从MYSQl检索单选按钮的值,但我没有运气

场景:如果用户选择“是”选项,表行将被禁用。现在,单选按钮的值是retrieve,而不是“Yes”选项的disabled

如何解决这个问题

PHP更新

        if (isset($_POST['list_location']) && $_POST['list_location'] != 'Select by Location'){
    $list_location = $_POST['list_location'];
    $result_location = $wpdb->get_results($wpdb->prepare("SELECT DISTINCT id, submit_time, last_name, first_name, middle_name, mobile_number, email, location, position, message, attachment_resume_id, process_resume FROM resume_databank WHERE location = '" . $list_location . "' ORDER BY location ASC", OBJECT));

        echo '<table>';
        echo '<tr>';
        $optionId = 0;
        echo '<th>Submit Time</th>';
        echo '<th>Last Name</th>';
        echo '<th>First Name</th>';
        echo '<th>Middle Name</th>';
        echo '<th>Mobile Number</th>';
        echo '<th>Email</th>';
        echo '<th>Location</th>';
        echo '<th>Position</th>';
        echo '<th>Message</th>';
        echo '<th>Resume</th>';
        echo '<th>Processed?</th>';
    for ($i=0;$i < count($result_location); $i++){
        $row = $result_location[$i];
        $optionId = $result_location[$i]->id;
        $checkYes   = "";
        $checkNo    = "";

        if($result_location[$i]->process_resume == "Yes"){
            $checkYes = "checked";
        }
        if($result_location[$i]->process_resume == "No"){
            $checkNo = "checked"; 
        }

    echo '<tr>';
        echo '<td id="submit_time">' . $result_location[$i]->submit_time . '</td>';
        echo '<td id="last_name">' . $result_location[$i]->last_name . '</td>';
        echo '<td id="first_name">' . $result_location[$i]->first_name . '</td>';
        echo '<td id="middle_name">' . $result_location[$i]->middle_name . '</td>';
        echo '<td id="mobile_number">' . $result_location[$i]->mobile_number . '</td>';
        echo '<td id="email">' . $result_location[$i]->email . '</td>';
        echo '<td id="location">' . $result_location[$i]->location . '</td>';
        echo '<td id="position">' . $result_location[$i]->position . '</td>';
        echo '<td id="message">' . $result_location[$i]->message . '</td>';
        echo '<td id="resumeFile'.$optionId.'"><a href=' . wp_get_attachment_url($result_location[$i]->attachment_resume_id) . '>Download Resume</a></td>';
        echo '<td id="radioOption><label for="Yes">Yes</label>
            <input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption'.$optionId.'" ' . $checkYes . ' value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>
            <label for="No">No</label>
            <input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption'.$optionId.'" ' . $checkNo . ' value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';
    echo '</tr>';
    }
    echo '</table>';
}
隐藏表单和PHP:

<?php
if (isset($_POST['optionAnswer']) && $_POST['optionAnswer']){
    $optionId = $_POST['optionId'];
    $optionAnswer = $_POST['optionAnswer'];
    $queryOptionId = $wpdb->query($wpdb->prepare("UPDATE resume_databank SET process_resume = '$optionAnswer' WHERE id = %d", $optionId));
}
?>

<form id='hiddenForm' method='POST' action=''>
    <input type="hidden" id="inputHidden1" name="optionId" />
    <input type="hidden" id="inputHidden2" name="optionAnswer" />
</form>

同一组中的单选按钮应具有相同的名称。然后,您可以使用该名称获取所选按钮,该值将是所选按钮的值(在本例中为“是”或“否”)

在这种情况下,您可能会执行类似于
$value=$\u请求['processedOption']获取它


但是请注意,只有在您的表中有一组这样的按钮时,此设置才会起作用。如果此表中有多行,则每个组需要不同的名称,否则只能看到最后一行。如果是这样的话,我会将它们命名为
processedOption[$optionId]
,这样PHP会将它们收集到一个数组中。(选项ID将是键,“是”和“否”将是值。)

同一组中的单选按钮应具有相同的名称。然后,您可以使用该名称获取所选按钮,该值将是所选按钮的值(在本例中为“是”或“否”)

在这种情况下,您可能会执行类似于
$value=$\u请求['processedOption']获取它


但是请注意,只有在您的表中有一组这样的按钮时,此设置才会起作用。如果此表中有多行,则每个组需要不同的名称,否则只能看到最后一行。如果是这样的话,我会将它们命名为
processedOption[$optionId]
,这样PHP会将它们收集到一个数组中。(选项ID将是键,“是”和“否”将是值。)

如果echo
中有其他内容,您可以使用速记($result\u location[$i][“process\u resume”]=“Yes”)?“选中”:“”)

因此,我假设您使用
$result\u location[$I][“process\u resume”]
从数据库中获取值。看到剩下的代码,我想应该是
$result\u position[$I]->process\u resume

echo '<td id="radioOption><label for="Yes">Yes</label>';
echo '<input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption"'.( ( $result_location[$i]["process_resume"] == "Yes" ) ? " checked" : '' ).'value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>';
echo '<label for="No">No</label>';
echo '<input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption"'.( ( $result_location[$i]["process_resume"] == "No" ) ? " checked" : '' ).'value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';

echo'如果echo中有其他内容,您可以使用速记(($result\u location[$i][“process\u resume”]==“Yes”)?“checked”:“”)

因此,我假设您使用
$result\u location[$I][“process\u resume”]
从数据库中获取值。看到剩下的代码,我想应该是
$result\u position[$I]->process\u resume

echo '<td id="radioOption><label for="Yes">Yes</label>';
echo '<input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption"'.( ( $result_location[$i]["process_resume"] == "Yes" ) ? " checked" : '' ).'value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>';
echo '<label for="No">No</label>';
echo '<input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption"'.( ( $result_location[$i]["process_resume"] == "No" ) ? " checked" : '' ).'value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';

echo'通过简单地将条件从单选按钮字段中移出,您不想让它变得更容易管理吗?创建两个变量并根据某些条件为它们赋值不会花费太多,而是会让事情变得更清楚。在这里,尝试只创建两个变量:$checkYes和$checkNo,然后再回显任何内容。然后我们检查$result\u position[$i]->process\u resume==“Yes”,在这种情况下,我们为$checkYes变量指定了“checked”。我们对NO做了同样的处理。之后,我们在适当的位置添加了$checkYes或$checkNo

    <?php
        // BE SURE THAT BOTH THE VARIABLES & CONDITIONAL STATEMENTS EXIST
        // WITHIN YOUR LOOP... PREFERABLLY AT THE BEGINNING OF THE LOOP.
        // OTHERWISE; $i HAS NO MEANING TO THE CONDITIONAL STATEMENTS BELOW.
        // CREATE THE $checkYes & $checkNo VARIABLES + INITIALIZE THEM TO EMPTY STRINGS
        $checkYes    = "";
        $checkNo     = "";
        // NEXT ASSIGN "checked" TO THE $checkYes OR $checkNo VARAIBLE
        // IF ANY OF THE CONDITIONS BELOW IS SATISFIED...
        // WE'LL USE THESE VARIABLES BELOW: WITHIN THE RADIO BUTTONS SECTION
        if($result_position[$i]->process_resume=="No"){
            $checkNo  = "checked"; 
        }
        if($result_position[$i]->process_resume=="Yes"){
            // TO DISABLE ALL RADIO BUTTONS WITH A "YES" VALUE;
            // SIMPLE ADD "disabled" TO THE $checkYes STRING LIKE SO:::
            $checkYes = "checked  disabled";
            $checkNo  = "disabled"; 
        }

        echo '<td id="submit_time">'    . $result_position[$i]->submit_time     . '</td>';
        echo '<td id="last_name">'      . $result_position[$i]->last_name       . '</td>';
        echo '<td id="first_name">'     . $result_position[$i]->first_name      . '</td>';
        echo '<td id="middle_name">'    . $result_position[$i]->middle_name     . '</td>';
        echo '<td id="mobile_number">'  . $result_position[$i]->mobile_number   . '</td>';
        echo '<td id="email">'          . $result_position[$i]->email           . '</td>';
        echo '<td id="location">'       . $result_position[$i]->location        . '</td>';
        echo '<td id="position">'       . $result_position[$i]->position        . '</td>';
        echo '<td id="message">'        . $result_position[$i]->message         . '</td>';
        echo '<td id="resumeFile'       . $optionId . '"><a href='              . wp_get_attachment_url($result_position[$i]->attachment_resume_id) . '>Download Resume</a></td>';
        echo '<td id="radioOption><label for="Yes">Yes</label>

    <input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption_' . $optionId . '" ' . $checkYes . ' value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>
    <label for="No">No</label>
    <input type="radio" id="processedOptionNo'. $optionId.'" name="processedOption_' . $optionId . '" ' . $checkNo . '  value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';

您不想通过简单地将条件从单选按钮字段中移出而使它变得更容易管理吗?创建两个变量并根据某些条件为它们赋值不会花费太多,而是会让事情变得更清楚。在这里,尝试只创建两个变量:$checkYes和$checkNo,然后再回显任何内容。然后我们检查$result\u position[$i]->process\u resume==“Yes”,在这种情况下,我们为$checkYes变量指定了“checked”。我们对NO做了同样的处理。之后,我们在适当的位置添加了$checkYes或$checkNo

    <?php
        // BE SURE THAT BOTH THE VARIABLES & CONDITIONAL STATEMENTS EXIST
        // WITHIN YOUR LOOP... PREFERABLLY AT THE BEGINNING OF THE LOOP.
        // OTHERWISE; $i HAS NO MEANING TO THE CONDITIONAL STATEMENTS BELOW.
        // CREATE THE $checkYes & $checkNo VARIABLES + INITIALIZE THEM TO EMPTY STRINGS
        $checkYes    = "";
        $checkNo     = "";
        // NEXT ASSIGN "checked" TO THE $checkYes OR $checkNo VARAIBLE
        // IF ANY OF THE CONDITIONS BELOW IS SATISFIED...
        // WE'LL USE THESE VARIABLES BELOW: WITHIN THE RADIO BUTTONS SECTION
        if($result_position[$i]->process_resume=="No"){
            $checkNo  = "checked"; 
        }
        if($result_position[$i]->process_resume=="Yes"){
            // TO DISABLE ALL RADIO BUTTONS WITH A "YES" VALUE;
            // SIMPLE ADD "disabled" TO THE $checkYes STRING LIKE SO:::
            $checkYes = "checked  disabled";
            $checkNo  = "disabled"; 
        }

        echo '<td id="submit_time">'    . $result_position[$i]->submit_time     . '</td>';
        echo '<td id="last_name">'      . $result_position[$i]->last_name       . '</td>';
        echo '<td id="first_name">'     . $result_position[$i]->first_name      . '</td>';
        echo '<td id="middle_name">'    . $result_position[$i]->middle_name     . '</td>';
        echo '<td id="mobile_number">'  . $result_position[$i]->mobile_number   . '</td>';
        echo '<td id="email">'          . $result_position[$i]->email           . '</td>';
        echo '<td id="location">'       . $result_position[$i]->location        . '</td>';
        echo '<td id="position">'       . $result_position[$i]->position        . '</td>';
        echo '<td id="message">'        . $result_position[$i]->message         . '</td>';
        echo '<td id="resumeFile'       . $optionId . '"><a href='              . wp_get_attachment_url($result_position[$i]->attachment_resume_id) . '>Download Resume</a></td>';
        echo '<td id="radioOption><label for="Yes">Yes</label>

    <input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption_' . $optionId . '" ' . $checkYes . ' value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>
    <label for="No">No</label>
    <input type="radio" id="processedOptionNo'. $optionId.'" name="processedOption_' . $optionId . '" ' . $checkNo . '  value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';

我将
$result\u位置[$i][“process\u resume”]
更改为这个
$result\u位置[$i]->process\u resume
但是我得到了以下错误:
注意:试图获取非对象的属性,
注意:未初始化的字符串偏移量:1
我更改了
$result\u位置[$i][“process\u resume”]
进入此
$result\u position[$i]->process\u resume
但我遇到了以下错误:
注意:尝试获取非对象的属性
注意:未初始化的字符串偏移量:1
否,我在每个表行的所有单选按钮中只有一个名称。单选按钮的生成取决于行数单选按钮只有一个名称。单选按钮是动态生成的,因此有多行,并且表中的每一行都有相同的按钮名称?您注意到这部分了吗?
id=“processedoptionies.”$optionId.”“
每一行中的
$optionId
都是唯一的,我已经编辑过,以说明如何可靠地做到这一点。将它们命名为
'processedOption['.$optionId.]'
$\u REQUEST['processedOption']
将成为一个$optionId=>yes/no的数组。如果将它们命名为
'processedOption',也会起作用$optionId
,但在我看来,这要笨重得多。无论哪种方式,如果希望每个组的“是/否”按钮独立运行,则每个组的名称必须是唯一的。否,我在每个表行的所有单选按钮中只有一个名称。单选按钮的生成取决于行数单选按钮只有一个名称。单选按钮是动态生成的,因此有多行,并且表中的每一行都有相同的按钮名称?您注意到这部分了吗?
id=“processedoptionies.”$optionId.”“
每一行中的
$optionId
都是唯一的,我已经编辑过,以说明如何可靠地做到这一点。将它们命名为
'processedOption['.$optionId.]'
,以及
$\u请求['processedOption']