2016-11-21 27 views
0

我有3列(NoteID,接下來NoteName,注)JQuery的 - AJAX - 如何獲得數據,並賦以一個DIV

我基本上需要從我的名爲connectionDetails php文件得到NoteID表包含查詢在裏面。

我目前有:

<div class="main-container-notes"> 
    <div id="left-box"> 
     <?php 

     echo "<div style='width: 100%;'>"; 

     while($noteName = sqlsrv_fetch_array($resultNotes, SQLSRV_FETCH_ASSOC)) 
     { 
      echo "<div class='hvr-bounce-to-right1 hover-cursor' style='width: 100%; border-right: 5px solid #00AA88; height: 50px;' id='output'>" . $noteName['NoteName'] . "</div>"; 
     } 

     echo "</div>"; 
     ?> 
    </div> 
    <div id="right-box"> 



    </div> 
</div> 

每個這些也需要NoteID,我需要AJAX,因爲當我對這些div的一個點擊<div id="right-box">將顯示從表中的「備註」字段中的文本不刷新頁面。

請參閱my site到明白我的意思

什麼是分別分配「NoteID」列隨附的每一行的最好方式。

這裏是connectionDetails.php腳本:

<?php 
$myServer = "blank"; 
$connectionInfo = array('Database' => 'blank', 'UID' => 'blank', 'PWD' => 'blank'); 

//connection to the database 
$conn = sqlsrv_connect($myServer, $connectionInfo) 
    or die("Couldn't connect to SQL Server on $myServer"); 

//Test connection to server 
// if ($conn) 
// { 
//  echo "connection successful"; # code... 
// } 

//Defining my queries 
$getNotes = "SELECT NoteID, NoteName, Note FROM Notes"; 
$getTemplateNotes = "SELECT TemplateNoteID, TemplateNoteName, TemplateNote FROM TemplateNotes"; 
$getReplaceVariables = "SELECT ReplaceVariableID, ReplaceVariableName, ReplaceVariableNote FROM ReplaceVariables"; 
$showNoteInfo = "SELECT Note FROM Notes WHERE NoteID = '" . isset($_POST['noteid']) . "'"; 

$resultNotes = sqlsrv_query($conn, $getNotes); 
$resultTemplate = sqlsrv_query($conn, $getTemplateNotes); 
$resultVariables = sqlsrv_query($conn, $getReplaceVariables); 
$showNotes = sqlsrv_query($conn, $showNoteInfo); 

if($resultNotes === false) 
{ 
    die(print_r(sqlsrv_errors(), true)); 
} 
if($resultTemplate === false) 
{ 
    die(print_r(sqlsrv_errors(), true)); 
} 

if($resultVariables === false) 
{ 
    die(print_r(sqlsrv_errors(), true)); 
} 

?> 
+0

請說明您的具體問題或添加額外的細節,突顯正是你需要的。正如目前所寫,很難確切地說出你在問什麼。 –

+0

我道歉它很難解釋,在你看到它上面的PHP通過的筆記,我有名字的名單拉,但每種這些名稱也有一個ID,但林不知道如何通過ID拉動以及名稱基本上 –

回答

1

NoteID到DIV的data-nodeid屬性。然後當你點擊它,你可以使用$(this).data("noteid")來獲取ID,並在AJAX調用發送。

此外,因爲您要創建在每一行重複的ID,你不能使用'ID =「輸出」在這裏。你應該使用一個類而不是ID。

所以PHP的樣子:

while($noteName = sqlsrv_fetch_array($resultNotes, SQLSRV_FETCH_ASSOC)) 
    { 
     echo "<div class='hvr-bounce-to-right1 hover-cursor output' data-noteid='{$noteName['noteID']}' style='width: 100%; border-right: 5px solid #00AA88; height: 50px;'>" . $noteName['NoteName'] . "</div>"; 
    } 

和JavaScript將是這樣的:

$(".output").click(function() { 
    var noteid = $(this).data("noteid"); 
    $("#right-box").load("connectionDetails.php", { noteid: noteid }); 
}); 

此查詢在你的腳本是錯誤的:

$showNoteInfo = "SELECT Note FROM Notes WHERE NoteID = '" . isset($_POST['noteid']) . "'"; 

isset()只是返回TRUEFALSE,而不是VA的值可變結構。你應該換一個if圍繞整個代碼:

if (isset($_POST['noteid']) { 
    $showNoteInfo = "SELECT Note FROM Notes WHERE NoteID = '" . $_POST['noteid'] . "'"; 
    $showNotes = sqlsrv_query($conn, $showNoteInfo); 
    if ($showNotes) { 
     $row = sqlsrv_fetch_array($showNotes, SQLSRV_FETCH_ASSOC); 
     echo $row['Note']; 
    } else { 
     die (sqlsrv_errors()); 
    } 
} 

你永遠迴盪在你的服務器腳本的查詢結果。

+0

我的整個腳本http://pastebin.com/r4r1C4Yw –

+0

不僅弄來查詢錯,但你永遠不打印查詢結果,如果它是成功的。所有的腳本都會檢查錯誤。 – Barmar

+0

好吧,看看 –