2011-11-28 55 views
0

我想:問題檢索數據庫「注意」信息在通過PHP風格的HTML的div顯示,JSON,查詢和SQL

  1. 採取「筆記」和它的ID存儲在一個MySQL db(它與用戶名匹配)
  2. 使用PHP並將其存儲在數組中
  3. 使用JSON使其可以在客戶端進行處理。
  4. 將每個單獨的筆記實例和相關的筆記ID信息。
  5. 顯示在一個獨立的HTML DIV CSS樣式
  6. 每個音符做的方式,它可以讓在其DIV每個音符被用戶刪除了(DB)

的SQL是成功的,我可以檢索筆記和形式顯示出來:

「這是一個便條」
「這注二等」

但OBV但是這不允許步驟4,5和6(這是我遇到問題的地方 - 我如何將所有這些都轉化爲對每個'音符'創建新div有用的東西)

$sql = "SELECT note FROM notes WHERE username = '$uname'"; 
//below is for the next step where I want to also retrieve the note's id 
//$sql = "SELECT * FROM notes WHERE username = '$uname'"; 
$result = mysql_query($sql,$conn); 
$i = 0; 
while($row = mysql_fetch_assoc($result)) 
{ 
    $notes[$i] = $row['note']; 
    echo json_encode($notes[$i]); 

    $i += 1; 
} 

我已經研究瞭解析,jquery,甚至數組之後,但我現在完全失去了,所以對此的幫助將大規模讚賞。

回答

0

我不確定你是否問過一個問題。但是這裏有幾個想法:

除非$ notes將成爲一個內存宏(例如超過10,000行),否則應該立即對整個集進行編碼;你現在正在做的是創建一堆JSON數組,但是你沒有將它們包含在任何可解析的結構中。如果你看這個腳本的輸出,你會明白我的意思。例如:

你的腳本創建了這樣的事情:

{"one": 1, "two": 2, "three": 3} 
{"one": 1, "two": 2, "three": 3} 
{"one": 1, "two": 2, "three": 3} 

你要包含在一個單一的對象是這樣的:

{ // enclosing structure 
    {"one": 1, "two": 2, "three": 3}, //elements separated by commas 
    {"one": 1, "two": 2, "three": 3}, 
    {"one": 1, "two": 2, "three": 3} 
} 

因此,嘗試...

$sql = "SELECT note FROM notes WHERE username = '$uname'"; 
//below is for the next step where I want to also retrieve the note's id 
//$sql = "SELECT * FROM notes WHERE username = '$uname'"; 
$result = mysql_query($sql,$conn); 
$rows = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $rows[] = $row; 
} 
echo json_encode($rows, JSON_FORCE_OBJECT); 

或者,如果你認爲這會耗盡可用內存,那麼像這樣:

$sql = "SELECT note FROM notes WHERE username = '$uname'"; 
//below is for the next step where I want to also retrieve the note's id 
//$sql = "SELECT * FROM notes WHERE username = '$uname'"; 
$result = mysql_query($sql,$conn); 
$i = 0; 
echo "{"; 
while($row = mysql_fetch_assoc($result)) 
{ 
    if($i++ > 0) { echo ",\n"; } 
    echo json_encode($row); 
} 
echo "}"; 

此外,您的腳本應包含正確的標題。它可能沒有工作,但這些能節省一些頭痛:

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 
+0

太棒了,很多東西都可以通過,我會繼續努力的。關於我的問題,我遇到的問題是嘗試將每個數組索引中的內容都轉換爲我可以在div中使用的格式,但保留用戶刪除的能力。我意識到這可能會有很多步驟,但我想確保任何迴應都是沿着正確的道路前進。再次感謝。我會開始嘗試。 –

相關問題