这个查询有效吗?我想更新一个表,连接两个不同的表,并将数据显示为两种不同的形式

时间:2016-01-03 13:38:58

标签: javascript php jquery mysql database

所以,我要做的是:我有pageA.php来获取用户的姓名,姓名和问题保存到DB(使用表单和Jquery)。我将这些问题显示在另一个表格中(由“技术团队”用来回答这些问题。我想尽快回答,不再在技术团队页面中显示问题,并在页面A中显示答案.php。我已经尝试了几件事,但还没有完全正确。

这是我不太确定的SQL查询:

    $Ssql = "UPDATE questions SET Qstatus=1 
    WHERE answers.customerName=users.name 
    FROM users, answers 
    INNER JOIN users 
    ON answers.userID=users.userID;";

我要做的是,在回答问题时将Qstatus更改为1。 0 =未回答,1 =已回答。要求详细信息的第一页。

Form to get the Customer's details

TextBox to get the Customer's question

Gif shown to the user while the technical team answer the question

Question available to answer

以下是我使用ATM将数据插入数据库并在问题得到解答时进行更新的代码。

        if ($_POST) 
{
    $staffName = test_input($_POST['staffName']);  
    $customerName = test_input($_POST['customerName']);
    $answer = test_input($_POST['answer']);

    try 
    {
        $host = '127.0.0.1';
        $dbname = 'webapp';
        $user = 'root';
        $pass = '';
        $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    } 

    catch (PDOException $e) 
    {
        echo "An error occurred saving your details. Please, try again!";
    }

    $sql = "INSERT INTO `answers` (`staffName`, `customerName`, `answer`) VALUES (?,?,?);";
    $sth = $DBH->prepare($sql);

    $sth->bindParam(1, $staffName, PDO::PARAM_INT);
    $sth->bindParam(2, $customerName, PDO::PARAM_INT);
    $sth->bindParam(3, $answer, PDO::PARAM_INT);

    $sth->execute();

    $Ssql = "UPDATE questions SET Qstatus=1 WHERE answers.customerName=users.name FROM users, answers INNER JOIN users ON answers.userID=users.userID;";
    $Ssth = $DBH->prepare($Ssql);
    $Ssth->execute();
}

我正在努力解决的问题是如何在问题得到解答时将Qstatus更改为1,以及如何在有可用答案的情况下触发在pageA.php中显示所有答案的表格。希望这是可以理解的,所有帮助都非常感谢!谢谢!!

1 个答案:

答案 0 :(得分:0)

在您的查询中有一些问题,所以我修改了。

 $Ssql = "UPDATE questions,users,answers          
         SET Qstatus=1 
         WHERE answers.customerName=users.name   
         AND answers.userID=users.userID;";

这里也可以添加一个条件。这是维持问题的anwser one-to-many关系。我不知道你的数据结构表,所以我不能在这里添加