2012-02-16 10 views
-6

私はコール評価フォームを作成しています。チームリーダーはエージェントを評価してコールにスコアを与えます。ここでループが3回挿入される

は私のコードです:

$query = "SELECT uid, section_name, section FROM sections_phase1 WHERE client_uid_fk = '$client'"; 
$sql = mysql_db_query($dbName,$query,$connect);// I'm getting section1,2,3 here 

while ($sec_row = mysql_fetch_assoc($sql)) { 

    ?> 
<tr> 
    <td class="style18"><?php echo $sec_row['section_name']?></td> 
</tr> 
<?php 
$countquestion = 0; 
$query = "SELECT uid, question FROM evaluation_phase1 WHERE client_uid_fk = '$client' AND section = '{$sec_row['section']}'"; 
$result = mysql_db_query($dbName,$query,$connect); 

while ($row = mysql_fetch_assoc($result)) { 
    $countquestion++; 
    ?> 


<tr> 
    <td class="style8"><?php echo $row['question']?><input 
     type="hidden" name="question_id_p1[<?php echo $row['uid']?>]" 
     value="<?php echo $row['uid']?>" /> <input type="hidden" 
     name="section[]" value="<?php echo $sec_row['section']?>" /></td> 
    <td> 
    1<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" value="1" />       
</td> 
    <td> 
    2<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" value="2" /> 
</td> 
    <td> 
    3<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" value="3" /> 
</td> 
    <td> 
    4<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" value="4" /> 
</td> 
    <td> 
    5<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" value="5" /> 
</td> 

    <td> 
    N/A<input type="radio" name="answer_p1[<?php echo $row['uid']?>]" 
     value="0" /> 
</td> 

    <td> 
    <textarea rows="1" cols="15" name="comment_p1[<?php echo $row['uid']?>]"></textarea> 
</td> 
</tr> 
<?php }} 
?> 

は、ページを送信:私はそれはそれは一度だけ挿入する必要があり、データベース3時間、に値を追加提出する際

$sql_data = array(); 
$sql_prefix = "INSERT INTO agents_phase1(call_info_uid_fk, client_uid_fk, product_uid_fk, team_leaders_uid_fk, agent_uid_fk, question_id, question_answer, section, evaluation_number, comment, time) VALUES"; 
foreach($_POST['answer_p1'] as $id => $answer){ 
    $call_info_id = (int) $_POST['call_id']; 
    $client_id = (int) $_POST['client_id']; 
    $product_id = (int) $_POST['product_id']; 
    $team_leader_id = (int) $_POST['team_leader_id']; 
    $agent_id = (int) $_POST['agent_id']; 
    $question_id = (int) $_POST['question_id_p1'][$id]; 
    $answer  = (int)($answer); 
    $comment  = mysql_real_escape_string ($_POST['comment_p1'][$id]); 
    $used_time = $timeend-$timestart; 
    $section = (int) $_POST['section'][$id]; 

    $sql_data[] = "('$call_info_id', $client_id, $product_id, $team_leader_id, $agent_id, $question_id, '$answer', '$section', '1', '$comment', '$used_time')"; 

    $sql = $sql_prefix.implode(", \n", $sql_data); 
} 
mysql_db_query($dbName, $sql, $connect); 

私の問題はあります。私はそれが私の中で別のものの中で何かをしているが、問題を起こしているようには見えないという考えを持っている。

私は実際にいくつかの助けをいただければ幸いです。

私は$ SQLをエコー場合、これは出力されます:

INSERT INTO agents_phase1(call_info_uid_fk, client_uid_fk, product_uid_fk, team_leaders_uid_fk, agent_uid_fk, question_id, question_answer, section, evaluation_number, comment, time) VALUES('8', 9, 7, 8, 24, 1, '3', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 2, '4', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 3, '2', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 4, '4', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 5, '2', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 22, '4', '1', '1', '', '704197'), ('8', 9, 7, 8, 24, 6, '5', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 7, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 8, '4', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 9, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 10, '4', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 11, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 12, '4', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 13, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 14, '4', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 15, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 16, '4', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 17, '3', '2', '1', '', '704197'), ('8', 9, 7, 8, 24, 18, '4', '2', '1', '', '704197') 

おかげ

+0

外部のコード

$sql = $sql_prefix.implode(", \n", $sql_data); 

を入れて? –

+1

うわー......何が混乱しているの? – Flukey

答えて

2

非常に非常に悪いデザイン私が言わなければなりません。

SQL文がエラーをスローするため、データの挿入方法がわかりません。

これまでのところ、foreachはinsert文で何をしていますか?一度に1つの値しか送信できません。 Foreachは毎回変数を上書きする必要があります。

大きな混乱。あなたは決定を簡素化すべきです。しかし、少なくても、それを取り除く。あなたの問題を解決するはずです。

0

今までCSSのことを聞いたforeachループ

+0

ありがとうございますが、まだ値を3回追加します – user992857

+0

'echo 'の出力は何ですか$ sql" –

+0

$ sqlの値で自分のコードを編集しましたが、コメントボックスはあまりスペースを取ることができません。ご協力いただきありがとうございます... – user992857

関連する問題