所以我在我的网站上显示了一个 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:我是编码新手
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
一般而言:当您想在单击按钮时执行服务器端操作时,您正在尝试从客户端到服务器端的方向进行通信。在客户端脚本中嵌入 PHP 代码并不是执行此操作的正确方法。请查找 AJAX。一个叫做 jQuery 的库相当容易使用,并且有一个简单的 AJAX 接口。
此外:除非此代码段中缺少某些代码,否则这似乎是创建n
contactclick() 函数,每个函数都有自己的 ID。您需要将函数从循环中取出,并将其id
作为参数接受。然后您可以从此函数执行 AJAX 调用,您的后端 (PHP) 代码将写入文件。
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消