想知道使用 php 从 mysql 数据库联系了哪个用户

所以我在我的网站上显示了一个 mysql 数据库中的人员列表,其中包含他们的城市名称和联系电话。我想知道访客联系了哪个人。这是我的代码片段:


<?php

$city = $_POST['city'];

$sql = "SELECT * FROM users WHERE city = '$city'";

$result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {

    while ($row = mysqli_fetch_assoc($result)) {

        $id = $row['id'];

?>

<tr>

<td class="pl-4"><?php echo "<h3>" .$row['fname']. " " .$row['lname']. "</h3>"; ?>

  <a href="tel: +91<?php echo "" .$row['phnumber']. "" ?>"><BUTTON onClick="contactclick();" class="track btn btn-outline-info p-2"><span class="icon-phone"></span> Contact</BUTTON></a>

  </td>

<script>

function contactclick() {

  <?php

  $sql7 = "SELECT * FROM users WHERE id = '$id' LIMIT 1";

  $result7 = mysqli_query($conn, $sql7);

  $row7 = mysqli_fetch_assoc($result7);

  $firstname = $row7['fname'];

  $lastname = $row7['lname'];

  $city7 = $row7['city'];

  $txt = 'Call received by:'.$firstname.' '.$lastname.' of '.$city7.'';

  $file = fopen('drivers-contacted.txt','a');

  fwrite($file,$txt);  

  ?>

}

</script>

                </tr>

正如您从代码中看到的那样,我尝试制作一个文本文件并在每次单击“联系人”按钮时将信息添加到该文件中。但它会添加列表中所有人的姓名,而不是实际联系的 1 人。我该如何解决这个问题?另外,有没有更好的方法来获取我想要的信息,比如从我的数据库列表中联系了哪个用户?


PS:我是编码新手


冉冉说
浏览 54回答 1
1回答

白板的微信

一般而言:当您想在单击按钮时执行服务器端操作时,您正在尝试从客户端到服务器端的方向进行通信。在客户端脚本中嵌入 PHP 代码并不是执行此操作的正确方法。请查找 AJAX。一个叫做 jQuery 的库相当容易使用,并且有一个简单的 AJAX 接口。此外:除非此代码段中缺少某些代码,否则这似乎是创建ncontactclick() 函数,每个函数都有自己的 ID。您需要将函数从循环中取出,并将其id作为参数接受。然后您可以从此函数执行 AJAX 调用,您的后端 (PHP) 代码将写入文件。
打开App,查看更多内容
随时随地看视频慕课网APP