-1

combobox2 つの入力フィールドを持つ、本質的にはフォームを作成しようとしています。

これは私のコンボボックスです:

<select name="answers[]" id="answers">
<option value="<?PHP echo $cevap_list['CRM7101']; ?>,<?PHP echo $cevap_list['CRM7105']; ?>"><?PHP echo $cevap_list['CRM7103']; ?></option>

この値を PHP スクリプトで POST 形式で受信しようとしました。

$answers= $_POST['answers']; 

for($p=0;$p<=count($answers);$p++){ 
    $answer_explode = explode(",",$answers[$p]);  
    $answer_id = $answer_explode[0];  
    $answer_value = $answer_explode[1]; 
} 

for($i=0;$i<count($answer_id);$i++){ 
$cevapkontrol = trim($answer_id[$i]); 

 $sorgu = mysql_query("insert into CRM9001(CRM9107,CRM9106) values ('".$answer_value[$i]."','".$answer_id[$i]."') "); 
}  

しかし、それは機能していないようですか?私は何か間違ったことをしていますか?

4

1 に答える 1

0
  1. foreach()構造を使用する
  2. 各反復で以前の ID と値をオーバーライドしています
<?php

if ($_POST)
{
    $results = array();
    foreach ($_POST['answers'] as $answer)
    {
        $answer_explode = explode(",", $answer);
        $results[] = array(
            'value' => trim($answer_explode[1]),
            'id' => trim($answer_explode[0])
        );
    }

    foreach($results as $result)
    {
        mysql_query("insert into CRM9001(CRM9107,CRM9106) values ('".$result['value']."','".$result['id']."') ");
    }
}
<select name="answers[]">
    <option value="some_id,some_value">some_name</option>
</select>
<select name="answers[]">
    <option value="some_id2,some_value2">some_name2</option>
</select> <input type="submit">
于 2012-12-13T10:56:21.577 に答える