2017-07-30 67 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()。告訴我,如果這有效 –