2013-04-13 47 views
0

讓我解釋一下我的問題..實際上我有一個表格,患者報告可以存儲並且病人可以有多個測試,所以每個報告的結果應該與打印結果不同,結果是插入不同但是領域備註也不插入相同的值超過一個測試.. 這是報告 enter image description here在php中插入mysql數據

和場行能增加acording增加由患者測試.. 的輸入場圖像現在我用這個插入表

function save_report_content() 
{ 
    $R=DIN_ALL($_REQUEST); 
    $dt = time(); 
    foreach($R as $k=>$v) 
    { 
     $test_id = str_replace('rep_result_', '', $k); 
     if(strstr($k, 'rep_result_')) 
     { 
      $content = $v; 
      $SQL = "INSERT INTO report SET 
        rep_te_id = '$test_id', 
        rep_result = '$content', 
        record_id = '$R[payment_id]', 
        remark= '$R[remark]', 
        nor= '$R[nor]', 
        rep_date = '$dt'"; 

現在的結果是表,但備註,也同樣會以不同的多個測試 enter image description here 我花那麼多的時間來恢復這個問題,但沒有成功,如果我錯過任何相關信息關於這個問題,然後感覺免費問我,在此先感謝,任何想法將被高度讚賞....

+0

你檢查打印$ _REQUEST和什麼樣的價值正在從形式獲得? – Amit

+0

你想用$ test_id = str_replace('rep_result_','',$ k)實現什麼?如果(strstr($ k,'rep_result_'))? – bestprogrammerintheworld

+0

你應該做的一件事是在數據庫中使用限制,所以註釋和非組合必須是唯一的(也可能是rep_result)。但我不認爲這完全解決了你的實際問題。 – bestprogrammerintheworld

回答

0

表單的結構是什麼?

<input name='nor[]' /> 

它應該是一個數組,讓每個行值來其他明智剛剛過去的行值會...

0

當你在foreach ..你不應該使用$R[remark],因爲你正在使用$k=>$v

它應該是$v['remark']

+0

@Jason ....我的INSERT查詢很好 – Dinesh

+1

好的那些foreach變量..你應該這樣使用它 $ v [''也' – Jason

+0

我試過但沒有在表 – Dinesh