与循环$ .post()分别返回2个或更多变量

时间:2015-03-29 04:55:54

标签: php jquery

我正在开发一个textarea,无论按下按钮后粘贴什么,它都会被添加到数据库中。抛开数据库功能。 我想实现的是:

  • 返回成功发布的记录数
  • 返回未插入的记录数,告知其已经重复

jquery代码

$(function(){
$('#sw').click(function(){
  if($("#txta").val().length>0) 
  {
    var h=confirm("Are you sure?");
    if(h==true)
    {
        var fld=$("#txta").val().split('\n');
        $.each(fld, function(){
          $.post('up.php',
          { 'ldta': this.split('\t') },
          function(data) {
            $('#out').append(data);
          }
          );
        });
        alert('Upload completed');
    }
    else
      alert("Cancelled");
  }
  else
  {
    alert("Textarea is empty.");
    $('#out').html('');
  }
});
});

PHP

 $setsu = dbSetsuzoku();//connection string stored on separate file
    $ldta=$_POST['ldta'];
    $qSql='';
    $dtHK=0;
    $qSql="SELECT * FROM bet WHERE bet_id=".$ldta[0];
    $stmt = $setsu->query($qSql);
    $rwk=$stmt->rowCount();
    if ($rwk==0)
    {
      //post to database code..
    }
    else
       $lkaku.=$lines.", ";//$lines tell the line that was not added
if(!is_null($lkaku))
{
  $hj='<table><tr style="background-color:#FF0000">';//displays the record that was not added table red in color..
  foreach ($ldta as $key => $value) {
          $hj.='<td>'.$value.'</td>';
      }
  $hj.='</tr></table>';
  echo $hj;
}
else
{
  $hj='<table border="1"><tr>';//displays the successfully added record/line
  foreach ($ldta as $key => $value) {
          $hj.='<td>'.$value.'</td>';
      }
  $hj.='</tr></table>';
  echo $hj;
}

我注意到无论在php上回应什么,它都是通过部件上的$ .post()函数获得的

function(data) {
    $('#out').append(data);
}

欢迎提供解决方法或想法。

1 个答案:

答案 0 :(得分:0)

在php代码中使用数组。并使用return json。

$data['first'] = "firstdata";
$data['second'] = array(0=>"iam",1=>"cool");

echo json_encode($data);