2013-10-11 104 views
0

我是新來的php,ajax和mysql。我正在嘗試構建一個Web應用程序,從中獲取數據庫中的輸出表。對於如如何將類表數據從php傳遞到ajax/javascript

名姓約翰·史密斯

是我放出來的表,如果我對史密斯點擊它應該搜索一下史密斯其他含表數據。我試着分配類和Java腳本中調用它,但它不工作

我的js代碼是

$(function myFunction() { 
    $("#lets_search").bind('submit',function() { 
     var value = $('#str').val(); 
     var value1= $('#str1').val(); 
     $.post('test_refresh.php',{value:value,value1:value1}, function(data){ 
     $("#search_results").html(data); 
     initializeClick(); 
     }); 
     return false; 
    }); 
    }); 
$(function initializeClick(){ 
$(".genename").click(function(){ 
    var sSearchValue = $(this).text(); 
    $.post('test_refresh.php',{value:sSearchValue}, function(data){ 
     $("#search_results").html(data); 
    }); 
    }); 
    }); 

和我的PHP代碼

<?php 
$conn = mysql_connect("localhost", "root", "") or die(mysql_error()); 

$db = mysql_select_db("cancer database") or die(mysql_error()); 
echo""; 
/*$query = mysql_query("SELECT * FROM tbl_cancer_database 
WHERE gene_symbol LIKE '".$_POST['value']."' 
OR gene_name LIKE '".$_POST['value']."' 
OR gene_id LIKE '".$_POST['value']."' 
OR gene_locus LIKE '".$_POST['value']."' 
OR function LIKE '%".$_POST['value']."%' 
OR alteration_in_cancer LIKE '".$_POST['value']."' 
OR reference LIKE '".$_POST['value']."' 
");*/ 
$query = mysql_query("SELECT * FROM tbl_cancer_database 
WHERE gene_name LIKE '".$_POST['value']."' 
and gene_id LIKE '".$_POST['value1']."' 
"); 
echo '<br />'; 

echo "You have searched for ".$_POST['value']." and ".$_POST['value1'].""; 
echo '<h2 class=header>abc</h2>'; 
echo '<br />'; 
echo '<br />'; 
echo '<table>'; 
echo "<tr> 
<th bgcolor=silver>Sr. No.</th> 
<th bgcolor=silver>Gene Symbol</th> 
<th bgcolor=silver class='genename'>Gene Name</th> 
<th bgcolor=silver>Gene Id</th> 
<th bgcolor=silver>Gene locus</th> 
<th bgcolor=silver>Function</th> 
<th bgcolor=silver>Alteration in cancer</th> 
<th bgcolor=silver>Reference</th></tr>"; 

while ($data = mysql_fetch_array($query)) { 

echo'<tr style="background-color:pink;"> 
    <td class="id">'.$data["id"].'</td> 
    <td class="genesymbol">'.$data["gene_symbol"].'</td> 
    <td class="genename">'.$data["gene_name"].'</td> 
    <td class="geneid">'.$data["gene_id"].'</td> 
    <td class="genelocus">'.$data["gene_locus"].'</td> 
    <td class="function">'.$data["function"].'</td> 
    <td class="alteration">'.$data["alteration_in_cancer"].'</td> 
    <td class="reference">'.$data["reference"].'</td> 
    </tr>'; 
} 

echo '</table>'; 


?> 

任何幫助,將不勝感激。

+1

您有SQL注入和XSS漏洞。 – SLaks

+0

可以請詳細說明 –

+0

[我怎樣才能防止在SQL注入PHP?](http://stackoverflow.com/q/60174) – Vishal

回答

0

你只需要事件綁定以適當的方式:

$(function() { 
    $("#lets_search").bind('submit', function() { 
     var value = $('#str').val(); 
     var value1 = $('#str1').val(); 
     $.post('test_refresh.php', { 
      value: value, 
      value1: value1 
     }, function(data) { 
      $("#search_results").html(data); 
      initializeClick(); 
     }); 
     return false; 
    }); 

    $(".genename").click(function() { 
     var sSearchValue = $(this).text(); 
     $.post('test_refresh.php', { 
      value: sSearchValue 
     }, function(data) { 
      $("#search_results").html(data); 
     }); 
    }); 
}); 

,並嘗試消毒查詢參數,以避免SQL注入漏洞。

+0

對不起隊友..但問題是從PHP傳遞類到js ..如果我我正在使用類的元素從它的工作形式完美地罰款 –