如何在下面的示例中从文本框中检索值

时间:2012-04-03 01:47:21

标签: php mysql

在我的代码中,我试图将VALUES插入数据库。我正在使用switch语句,如果文本框等于其中一个案例,则它与数据库中的一个'OptionType'行匹配,并从该显示匹配'OptionI'匹配'OptionType'。

问题是,在$ optionquery上执行var_dump时,它表明它没有从文本框中退出值。如何从查询中获取$ selected_option以从文本框中检索值($ _POST ['gridValues'])?

目前我正在尝试使用case语句从文本框中检索值。例如。如果文本框包含数字'4',则应触发案例'4'。

现在,下面是文本框的代码,它附加到应用程序中的新表行中:

     <script>

            function insertQuestion(form) { 

  var context = $('#optionAndAnswer');  

            var $tbody = $('#qandatbl > tbody'); 
            var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
            var $options = $("<td class='option'></td>");
            var $questionType = '';

            $('.gridTxt', context).each( function() {

             var $this = $(this);
             var $optionsText = $("<input type='text' class='gridTxtRow maxRow' readonly='readonly' />").attr('name',$this.attr('name')+"[]")
                             .attr('value',$this.val())

            $options.append($optionsText);
            $questionType = $this.val();

            });

    $tr.append($options);
    $tbody.append($tr); 

        </script>


        <form id="QandA" action="insertQuestion.php" method="post" >

        <table id="optionAndAnswer" class="optionAndAnswer">
        <tr class="option">
        <td>Option Type:</td>
        <td>
        <div>
            <input type="text" name="gridValues" class="gridTxt maxRow" readonly="readonly" />
        </div>
        </td>
        </tr>
        </table>

        </form>

下面是所有数据库内容发生的php代码:

$insertquestion = array();


$options = $_POST['gridValues'];

switch ($options){

    case "3": 
    $selected_option = "A-C";
    break;

    case "4": 
    $selected_option = "A-D";
    break;

    case "5": 
    $selected_option = "A-E";
    break;

    default:
    $selected_option = "";
    break;

}      

$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = '" 
     . mysql_real_escape_string($selected_option)."')";

$optionrs = mysql_query($optionquery);
$optionrecord = mysql_fetch_array($optionrs);
$optionid = $optionrecord['OptionId'];



foreach($_POST['questionText'] as $question)
{
    $insertquestion[] ="' ".  mysql_real_escape_string( $optionid ) . "'";
}

  $questionsql = "INSERT INTO Question (OptionId) 
  VALUES (" . implode('), (', $insertquestion) . ")";



echo($questionsql);

var_dump($optionquery);

mysql_close();

1 个答案:

答案 0 :(得分:1)

您需要循环切换(基于var_dump):

$option_array = array();
foreach( $options as $i )
{
  switch( $i )
  {
    case '1':
    if( !empty( $i ) ){ $option_array[] = $selected_option; }
    break;
    //so on, and so forth for all of your field data...
  }
}

现在您已将所有字段值重新处理并存储在$ option_array中,您可以遍历:

foreach( $option_array as $i )
{
   //do whatever mysql jazz you need to do to get your data
}