单击菜单更新表数据

时间:2015-06-30 12:38:23

标签: php html css ajax

我想创建一个手风琴菜单(不知道是否会使用divs<ul>创建)当我点击一个子菜单时,我需要执行mysql query
我的意思是,当我点击子菜单时,我需要更新菜单旁边的表的数据/内容。我不知道该怎么做和/或如果更好地使用AjaxPHP,我对两者都不熟悉。

我所能做的就是用div创建手风琴菜单。

<?php 
    include("conexao.php");

function loadTable(){
    $pdo = conectar();
    $query_select = $pdo->prepare("SELECT prof.nome AS PROFESSOR, disc.nome AS DISCIPLINA, prof.ch AS ch
                                    FROM professor prof 
                                    INNER JOIN prof_disc pd ON prof.id = pd.fk_prof
                                    INNER JOIN disciplina disc ON pd.fk_disc = disc.id");
    $query_select->execute();

    $line = $query_select->fetchAll(PDO::FETCH_OBJ);

    foreach($line as $row){
        echo "
            <h3><span class='arrow-r'></span>".$row->PROFESSOR."</h3>
            <div style='display: none;' class=''>
                <p>".$row->DISCIPLINA."</p>
            </div>
        ";
    }   
    echo '</table>';
}
 ?>

我们会有类似的东西:
PROFESSOR | DISCIPLINA
Math - | History
Geografia | Physics

2 个答案:

答案 0 :(得分:2)

如何在Ajax中使用Jojo01补充post答案:

var value1 = "somevalue";
var productsURL = "getproducts.php?key1="+value1;

$.ajax({
    type: "POST",
    url: productsURL,
    cache: false,
    success: function(result){
        //do something with result
    }
});

PHP文件(getproducts.php)中,您可能有一个变量用于使用ajax发送的值/键,然后获取某个值的数据库,当您有值时,您可以echo它将返回Ajax代码中的result变量。

e.g。 (会是这样的)

<?php
    if(isset($_POST["key1"])) {
        $key1 = $_POST["key1"];

        $sql = "SELECT column1 FROM table1 WHERE key1=".$key1;
        //fetch values from database
        //get values

        echo $values;
    }
?>

答案 1 :(得分:1)

如果要在单击子菜单下载jQuery时执行新的mysql查询。当你有jQuery使用jQuery .click()函数和.post()函数。

修改

像这样处理事件:

聚苯乙烯。 jQuery选择逻辑与css中的相同。

$(document).ready(function() 
{
  $("#subMenuItemId").click(function() 
  {
    //Post action here
  });
});