2011-11-26 57 views
0

我從MySQL的課程列表,當我點擊的過程中,應該顯示正確的課程描述到右側,當我再次點擊下一個過程,以前應該隱藏,並獲得當前點擊課程描述,這裏是代碼我做如何使用jQuery和PHP動態顯示更多信息?

jQuery的

$(document).ready(function() { 
      $("#toggle_value").click(function(){ 
      $("$courseid").show("slow");   
     }); 
    }); 

PHP代碼

$cour = get_records_sql('SELECT c.id, c.summary FROM mdl_course c'); 
echo '<table style="background:white;border:2px solid blue">'; 
foreach($cour as $cou) 
{ 
    $coursename = $cou->fullname; 
    $summary = $cou->summary;       
    echo '<tr style="border:1px solid #BACC82;"> 
      <td><div class="toggle_button"><a href="javascript:void(0);" 
        id="toggle_value">'.$coursename.'</a></div></td></tr> 
<div id="div1" style="display:none;top:440px; border:0px solid #000;float:right;background-color:white; padding:5px;"> 
} 
echo '</table>'; 
+0

的JavaScript(因此jQuery的)的作品所再現的HTML ,***不是***服務器端腳本。請編輯該問題以合併相關HTML的樣本,以便我們可以回答。 –

+0

這是因爲PHP是服務器端,當你,直到你刷新頁面(或通過Ajax重新加載)的所有的變量將是相同的(只有一個值)值分配給您的$ coursedesc和$ coursename變量。所以,你需要或者使用Ajax技術或得到所有可能的值給一個變量,並通過分裂在Javascript部分.. – Alper

+0

嗨大衛和阿爾珀使用,謝謝您的答覆現在我想編輯的問題,可否請你現在提出 – user1067018

回答

0

不能引用PHP變量中的jQuery - jQuery是瀏覽器端和PHP是服務器端。

盡你所能的是更新的點擊功能加載上點擊數據:

$(document).ready(function() { 
     $("#toggle_value").click(function(){ 
     $('#<target div>').load('<url of php file>', {courseid : ##});  
    }); 
}); 

php文件你把<url of php file>返回數據就地你點擊課程。您通過的數據將在PHP中使用_POST['courseid']您需要將課程ID添加到#toggle_value錨點 - 但您可以將其添加爲任何屬性。

這裏是一個完整的例子 - 未經檢驗,你會需要更新出頭如文件名和表列:

getAllCourses.php:

$courses = mysql_fetch_array(mysql_query('SELECT c.name,c.id FROM mdl_course c'); 
echo '<table>'; 
foreach($courses as $course) 
{       
    echo '<tr><td><a href="#" rel="'. $course['id'] .'" class="toggle_value">'.$course['name'].'</a></td></tr> 
} 
echo '</table><div id="coursesummary"></div>'; 

getCourse.php:

$courseid = mysql_real_escape_string(_GET['courseid']); 
$course = mysql_fetch_array(mysql_query('SELECT c.summary FROM mdl_course c where c.id = $courseid')); 
echo $course['summary']; 

JavaScript:

$(document).ready(function() { 
     $(".toggle_value").click(function(){ 
     $('#coursesummary').load('getCourse.php?courseid=' + $(this).attr('rel'));  
    }); 
}); 
+0

它說非法字符 [Break On This Error] $ .load('index.php',{courseid:##},'#'); – user1067018

+0

你在做需要一些更新課程ID也替換''你想要的內容出現在 – ManseUK

+0

@ user1067018我加入了一個完整的示例的div ID - 它的** **未經檢驗,但應給你的,你需要做的... – ManseUK

0

因爲我們沒有什麼是你的代碼知道我們canot指點spesific解決方案。
但ManseUK給了你一個正確的方式應該遵循。但是,如果你想使用通過JQuery的Ajax技術(我的意思是,從你的服務器JSON數據動態獲取信息),您可以check out this tuttorial.

即使有很多tuttorial on the web