php
  • javascript
  • jquery
  • html
  • ajax
  • 2012-06-17 68 views 0 likes 
    0

    我将如何在php中处理这个Ajax。 我想要做的是将数据发送到process.php如果模式= loadlinks它会做一个MySQL查询我如何处理这个ajax数据?

    function PresentLinks(div_id){ 
    
         $("#loading-status").fadeIn(900,0); 
         $("#loading-status").html("<img src='img/bigLoader.gif' />");   
    
    $.ajax({ 
    
          type: "POST", 
          url: "process.php", 
          data: "mode=loadlinks", 
    
          success: function(msg){ 
    
           $("#loading-status").fadeOut(900,0); 
           $("#"+div_id).html(msg); 
    
    
          } 
    
         });} 
    

    我想过程

    if($_POST['mode'] == loadlinks){ // this is what i want to ask 
    $query = "SELECT * FROM site ORDER BY link_id DESC"; 
    $result = MYSQL_QUERY($query) or die (mysql_error()); 
    while($data = mysql_fetch_row($result)){ 
    echo ("$data[1]"); 
    }} 
    else { 
    } 
    

    回答

    1

    你需要引用字符串值

    if($_POST['mode'] == 'loadlinks'){..... 
    
    +0

    ...并且不要引用变量:'echo(“$ data [1]”);' - >'echo $ data [1];'(或'echo“{$ data [1]}” ;',这是毫无意义的)。 –

    2

    您需要在PHP中引用字符串。否则,它们将被假定为常量。您还应该使用PDO

    if($_POST['mode'] == 'loadlinks'){ 
        $pdo = new PDO('mysql:host=HOST;dbname=DATABASE'), 'username', 'password'); 
        $stmt = $pdo->execute('SELECT * FROM site ORDER BY link_id DESC'); 
    
        $sites = $stmt->fetchAll(); 
        foreach($sites as $site) { 
         echo "<div>" . $site['name'] . "</div>"; // Or whatever info you want to output 
        } 
    } 
    

    对于性能,您应该指定表列名称来检索而不是使用*

    相关问题