php
  • javascript
  • jquery
  • html
  • ajax
  • 2012-06-17 107 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 
        } 
    } 
    

    對於性能,您應該指定表列名稱來檢索而不是使用*

    相關問題