2013-04-13 46 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