2017-07-30 50 views
0
if (isset($_POST["getCanvas"])) { 
       $projectName= mysqli_real_escape_string($db2, $_POST['whichProject']); 
       $query = "SELECT objectsList FROM projectObjectstable WHERE projectName='$projectName'"; 
      // $query = "SELECT objectsList,backgroundImage FROM projectObjectstable WHERE projectName='$projectName'"; 
       $jsonCanvas= mysqli_query($db2,$query); 
        $row = mysqli_fetch_row($jsonCanvas); 
        $myLine=$row['0']; 
        echo $myLine; 
     } 

使用上面的代码我从表中获得一列。我需要两列。我想尝试下一步:如何管理Ajax成功功能?

  $query = "SELECT objectsList FROM projectObjectstable WHERE projectName='$projectName'"; 
      $jsonCanvas= mysqli_query($db2,$query); 
       $row = mysqli_fetch_row($jsonCanvas); 
       $myLine=$row['0']; 
       echo $myLine; 
      $query2 = "SELECT backgroundImage FROM projectObjectstable WHERE projectName='$projectName'"; 
      $jsonBackground= mysqli_query($db2,$query2); 
        $row2 = mysqli_fetch_row($jsonBackground); 
        $myLine2=$row['0']; 
        echo $myLine2; 
     } 

对此,我需要下一个解决方案在这里。如何修改ajax成功函数在画布上获取两个变量(projectList和backgroundImage)?

$.ajax({ 
    method:"POST", 
    url: '/wp-content/themes/mypage3/PgetJson.php', 
    data: { 
    "getCanvas":1, 
    "whichProject":whichProjectToSave 
    }, 
    datatype: "text", 
    success: function(strdate){ 
    canvas.loadFromJSON(strdate, function() { 
    canvas.renderAll(); 
     }); 
    } 
}); 

一个额外的信息将不胜感激。在浏览器中调试php代码有哪些选择,因为它可以处理js? 谢谢

+0

从了解json开始。 –

+0

创建你的数据的数组,然后json_encode它并发送到ajax成功,并在那里解码并遍历它,并使用所有值 –

+0

使用Ajax它是类型而不是方法 – Akintunde007

回答

0

正如之前所说,您需要使用json_encode函数以JSON格式向您的JS发送参数。在调用echo之前,必须将变量放入数组中。正如以下所用。

  $query = "SELECT objectsList FROM projectObjectstable 
        WHERE projectName='$projectName'"; 
     $_row= mysqli_query($db2,$query); 
     $row = mysqli_fetch_row($_row); 
     $jsonCanvas=$row['0']; 

     $query2 = "SELECT backgroundImage FROM projectObjectstable 
        WHERE projectName='.$projectName.'"; 
     $_row2= mysqli_query($db2,$query2); 
     $row2 = mysqli_fetch_row($_row2); 
     $jsonBackground=$row['0']; 

     $to_json['jsonCanvas'] = $jsonCanvas; 
     $to_json['jsonBackground'] = $jsonBackground; 

     echo json_encode($to_json); 
     exit(); 

而在你的JS,你收集中签功能您的信息:

$.ajax({ 
    method:"POST", 
    url: '/wp-content/themes/mypage3/PgetJson.php', 
    data: { 
    "getCanvas":1, 
    "whichProject":whichProjectToSave 
    }, 
    datatype: "json", 
    success: function(strdate){ 
     /*Here on data you will receive 
     strdate['jsonCanvas'] & strdate['jsonBackground'] 
     */ 
     }); 
    } 
}); 

我也想,如果建议让您的SQL调用在一个查询你的电话到同一个表,并通过相同变量作为参数。

+0

我希望了解,然后继续显示所有内容控制台(console.log(strdate);)看看我回来了。我出去了。你能帮助我更多的请求吗?我需要在画布上放置背景和对象。 –

+0

@ivangolubar我没有特别明白你在做什么。 在成功函数中写入控制台日志以查看接收的数据是否正确。如果你想用这些信息在HTML中创建元素,然后将它们附加到画布上,可以使用document.createElement和jQuery的append()。告诉我,如果这有效 –