2017-07-30 10 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; 
     } 

上記のコードでは、テーブルから1つの列を取得します。私は2つの列が必要です。私は次に試してみたいと思う: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; 
     } 

私はここで次の解決策が必要です。どのように2つの変数(projectListとbackgroundImage)を取得するためにajaxの成功関数を変更するには?

$.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(); 
     }); 
    } 
}); 

追加情報は高く評価されます。どのようなオプションは、jsとすることができるように、ブラウザでPHPコードをデバッグするために存在する? ありがとう

+0

jsonについて学ぶことから始めます。 –

+0

あなたのデータの配列を作成し、それをjson_encodeして、成功したAjaxに送ってそれをデコードし、それをトラバースしてすべての値を使用してください –

+0

Ajaxではタイプでありメソッドではありません – Akintunde007

答えて

0

これまで説明したように、json_encode関数を使用してJSON形式のパラメータをJSに送信する必要があります。エコーを呼び出す前に、変数を配列内に配置する必要があります。それは以下で使用されているとおりです。

  $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'] 
     */ 
     }); 
    } 
}); 

あなたが同じテーブルに呼び出して、同じを渡す場合、私はまた、1つのクエリにSQL呼び出しを行う推薦変数を引数として指定します。

+0

私は理解して、 console(console.log(strdate);)私が何を取り戻しているか見てみましょう。そして、私は外出しています。より多くの嘆願を助けることができますか?背景とオブジェクトをキャンバスに置く必要があります。 –

+0

@ivangolubar私はあなたが何をしようとしているのかを具体的に理解していません。 コンソールログを成功関数に書き込み、受信したデータが正しいかどうかを確認します。その情報をHTMLで要素を作成してキャンバスに追加する場合は、document.createElementとjQueryのappend()を使用できます。それが動作するか教えてください –

関連する問題