所以我在我的網站上顯示了一個 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 關注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消