javascript - 如何通过Javascript函数调用PHP函数来更新mysql表中的数据?

标签 javascript mysql function insert call

我正在尝试使用 javascript 函数将数据更新到 mysql 数据库中。当我单击标签时,该函数将调用 php 中的其他函数来更新此数据。如果我点击一个标签,代码就会执行这些操作。你能帮我一下吗?

我尝试通过调用 publicatePhone php 函数在我的 sql 表电话中插入数据,但没有插入数据。这是我的代码:

**Javascript函数:

function answer1yes(clicked) {

    var s = document.getElementById("answer1oui").checked;

    if (s = "true"){

    <?php include('functions.php'); ?>

    var x="<?php publicatePhone(); ?>";

    alert(x);

    return false;

    }else{

        alert('not checked');

    }
}

** 文件function.php:

<?php function publicatePhone(){

$con=mysql_connect("localhost","root","hihi51978");

mysql_select_db("script_database2");

//$publicate = "INSERT INTO phone (phone_number, publicate_number) VALUES 
('212661132084', 'yes')";

$publicate = "UPDATE phone SET publicate_number = 'yes' WHERE 

phone_number='212661132084'";

$publicate_result = mysql_query($publicate);

if ($publicate_result==true){echo 'request executed successfelly';} 

else {echo 'request not executed';}

}

?>

**形式:

<div id="answer1"style="margin: 20%;">

Show my phone number on website's result:

<form action="<?php $_SERVER['PHP_SELF'];?>" method="post" />

<p><label name="labelyes" style="background-color: #035d54; padding: 6px 

30px 6px 30px; border-radius: 35px;" onclick="Javascript:answer1yes()" > 

<input style="display: none;" type="radio" id="answer1oui" name="question1"

value="yes">Yes</label><p>

</form>

</div>

代码显示“请求已成功执行”,但请求未更新我的电话表

最佳答案

好吧,这就是我处理类似问题的方法:

表单.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="form.js"></script>
    <title>Form</title>
</head>
<body>
    <div id="answer1" style="margin: 20%;">
        Show my phone number on website's result:
        <!-- You only need a "post" and "action" attribute when you are -->
        <!-- submitting this form with an: <input type="submit" value=""> -->
        <form>
            <button onclick="showPhoneNumberOnResults(true)">yes</button>
            <button onclick="showPhoneNumberOnResults(false)">no</button>
        </form>
</body>
</html>

form.js:

function showPhoneNumberOnResults(answer) {
    if (answer) {
        alert('Show number');
        $.ajax({
            type: 'POST',
            url: 'process_answer',
            data: { answer: answer },
            success: (date) => console.log(data),
            error: (xhr, status, error) => console.error(xhr.responseText)
        });
    } else {
        alert('Don\'t show number');
    }
}

这个(parameter) => { statements } 就是所谓的“lambda 表达式”,它只是编写函数的一种简短形式。

process_answer.php:

<?php

require_once 'database_connect.php';

$dbConnection->query(/* insert your UPDATE statement */);

database_connect.php:

<?php

$HOST = 'localhost';
$DATABASE = 'script_database2';
$USER = 'root';
$PASSWORD = 'hihi51978';

try {
    $dbConnection = new PDO('mysql:host='.$HOST.';dbname='.$DATABASE, $USER, $PASSWORD);
    // set the PDO error mode to exception
    $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

我这里使用的是PDO。它只是提供了一个界面,您可以在其中使用每个不同的数据库,而不仅仅是 mysql。 您可以在这里阅读更多相关信息:http://php.net/manual/en/intro.pdo.php .

是的,顺便说一句,我认为您想要使用的词是“发布”而不是“公开”。 :P

圣诞节问候。

关于javascript - 如何通过Javascript函数调用PHP函数来更新mysql表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53894946/

相关文章:

javascript - 如何在数组变量上使用 String.raw

php - Android JSON 到 PHP 服务器

MySQL Select 带过滤条件

javascript - 从函数内部的对象传递值

javascript - 在 java jsp 文件的 HTML 中隐藏文本

javascript - Redux 中的 Actions 和 Reducers 有什么意义?

c++ - 如何将此结构传递给可用函数?

在 Cakephp 中上传图片

javascript - 确定定界形状边界的点的算法——使用 javascript

php - 输入字段词到php数组