'phparray->jQuery'の問題のこちら側を扱うチュートリアル/説明が見つかりません。(または私が理解しているもの、私はこれすべてに不慣れです:S)
コードは機能しますが、n個のノートに対してn個のdivを作成しません
私はPHPファイルでSQLを使用しています:
$sql = "SELECT * FROM notes WHERE username = '$uname' and notetype = 'todo'";
$result = mysql_query($sql,$conn);
$i = 0;
while($row = mysql_fetch_assoc($result))
{
$notes[$i] = $row['note'];
echo json_encode($notes[$i]);
$i += 1;
}
これは、Ajaxを介してdiv / DOM(!?)要素に正常にエコーします。
$.ajax({
url:'getnotestodo.php',
data: "",
datatype: 'json',
success: function(data)
{
$('<div class="stickit" />').text(data).appendTo('#stickitholder');
}
});
しかし、明らかに私が抱えている問題は、すべてが1つの新しい、<div class="stickit">
つまり「note1」、「note2」、「note3」などにエコーされることです。つまり、新しいノートごとに1つの新しいdivではなく、すべてのノートが1つのdivにエコーされます。
現在の思考(失敗した思考...)
そこで、「while」ループのクライアント側を実行して、そのインデックスのデータを使用して各インデックスに新しいdivを作成するために、jQuery配列にPHP配列を設定しようとしています。このプロセスですが、ループ内にあります。
$('<div class="stickit" />').text(data).appendTo('#stickitholder');
PHP配列全体で、jqueryが型関数json_encode()
の1つを使用できるオブジェクトを返すことを想像していました。map()
しかし、ひどいスクリプトの失敗がひどいトラブルシューティングの試みとクラッシュにつながり、完全に行き止まりになっています。
PHP:
$sql = "SELECT * FROM notes WHERE username = '$uname' and notetype = 'todo'";
$result = mysql_query($sql,$conn);
$i = 0;
while($row = mysql_fetch_assoc($result))
{
$notes[$i] = $row['note'];
$i += 1;
}
json_encode($notes[]);
わずかに異なるjQuery:
$.ajax({
url:'getnotestodo.php',
data: "",
datatype: 'json',
success: function(data)
{
$('<div class="stickit" />').text(data).appendTo('#stickitholder');
var notesarray = new Array();
notesarray = data;
while (notesarray.length >= 0){
$('<div class="stickit" />').text(data).appendTo('#stickitholder');
}
}
});
私は行くにつれて学んでいますが、今はどこにも行かないので、助けていただければ幸いです。