javascript - 如何使用 javascript 显示唯一的 php 数据
问题描述
我有一个我正在研究的小项目,它使用 php 将数据存储在数据库中,然后将所有保存的数据作为列表异步加载到 div 中。它工作正常,但我目前正面临 php-javascript 危机......这是发生的事情的摘要
预期结果:
- 单击列表时,显示唯一的单击标题
实际结果:
- 即使单击其他标题,也始终显示上次保存的标题。
请伙计们,我需要帮助来实现“预期”的结果。
这是一段 php 代码
//users name
$uname = $_SESSION['username'];
//establishing connection to notes database
$dbconn = mysqli_connect('localhost','root','','notesdb');
if(!$dbconn){
die("Connection failed:". mysqli_connect_error($dbconn));
}
//order by desc i.e Most recent appears always at the top
$result1 = mysqli_query($dbconn,"SELECT * FROM notes_log ORDER BY id DESC");
/*
loops through the query result and presents it in an array i.e
'username:title:body:date' and is displayed in the notes-log div.
*/
while($extract = mysqli_fetch_array($result1)){
if($extract['username'] === $uname){
$title = $extract['note-title'];
echo "<div class='saved-note' >";
echo "<a href='#'><span id='note-title' class='note-title' onclick='displayNote()'>". truncate($title) ."</span></a>";
echo "<div class='trig-dropdown'><span class='fa fa-ellipsis-v' id='fa-ellipsis-v'></span><div class='dropdowncontent-noteslog' id='dropdowncontent-noteslog'><a href='#'>delete</a></div></div>";
echo " <span id='note-date'> " .$extract['date-saved']."</span>";
echo "</div>";
}
}
JS
function displayNote(){
var res = document.getElementById("note-title");
alert(res.innerHTML);
}
解决方案
方法一:
尝试传入this
你的 onclick 函数,
<span id='note-title' class='note-title' onclick='displayNote(this)'>
并在 javascript 上获取您的参数。
<script type="text/javascript">
function displayNote(this){
alert(this.innerHTML)
}</script>
那应该行得通。
注意:如果你让你的 id 在每个循环中都是唯一的,那就更好了。
方法二:
使您的 id 对于每个循环都是唯一的。
echo "<span id='note-title-".$i."' class='note-title' onclick='displayNote()'>"
您的 id 将是note-title-0
, note-title-1
, ... 等等。
推荐阅读
- c# - Nswag 在相同的 Http 状态代码中指定多个响应示例?
- c# - Blazor 服务器:外部登录 (facebook) 分配策略
- python - 当python中存在重复条目时如何转置数据框列?
- reactjs - 将鼠标悬停在菜单项上时出现 Antd 下拉菜单错误
- reactjs - React Native Formik handleSubmit 不从函数读取返回值
- c++ - 基于 QT CMAKE 的应用程序意外完成
- objective-c - 如何使用目标 c 获取文件的“Stationary Pad”标志信息
- wordpress - Wordpress 更改媒体网址
- sapui5 - SAP UI5 片段间动态切换
- google-cloud-platform - 在 Google 监控中限制对特定仪表板的访问