HTML、PHP、JavaScript——如何为数据库中的每个单独记录制作一个按钮?看起来很简单,但事实并非如此;不起作
HTML, PHP, JavaScript -- How to make a button for each individual record in a database? Seems simple but doesn't work
我有一个SQL数据库(我确信它包括远程访问,如果需要通过php访问数据库的话)。它肯定至少有一条记录,我需要获取每条记录,并创建一个链接到php文件的相应按钮,将该记录的第一个字段作为/n参数、变量、参数,或者任何你称之为whatever.php的东西?variable=值。
出于某种原因,这段代码只给了我一个空白页。为什么?
<?php
$connection=mysqli_connect("myhost","myusername","mypassword","mydatabase");
$result=mysqli_query($connection, "SELECT * FROM myTable");
$resultArray=array();
while ($row = mysqli_fetch_array($result)) {
array_push($resultArray, $row['ID']);
}
$resultArrayImplode = implode(",", $resultArray);
?>
<script>
var resultArray = <?php echo $resultArrayImplode; ?>
arrayEntries = new Array();
arrayEntries = resultArray.split(",");
function CreateButtons(element, index, array) {
var button = document.createElement("input");
button.type = "button";
button.value = element;
button.onclick = function() {
document.location.href = "ButtonClicked.php?id=" + element;
}
document.body.appendChild(button);
}
arrayEntries.forEach(CreateButtons);
</script>
谢谢!
由于引号等原因,您对resultArray的javascript赋值可能在语法上不正确。幸运的是,PHP的JSON函数自动为您创建了良好的javascript。
尝试以下javascript输出:
var arrayEntries = <?php echo json_encode($resultArray)?>;
您的问题是$resultArrayImplode;
是一个字符串,所以
var resultArray = <?php echo $resultArrayImplode; ?>
渲染为:
var resultArray = 1,2,3,4,5
这是一个语法错误。
您可以使用JSON。JSON语法是JavaScript语法,所以您所需要做的就是:
var arrayEntries = <?php echo json_encode($resultArray); ?>;
这应该呈现为类似于:
var arrayEntries = [1,2,3,4,5];
这是完美的JavaScript语法。然后您的代码的其余部分应该可以工作了。
我只是不明白为什么你需要使用javascript,你不能只做以下事情吗:
<?PHP
foreach($resultArray as $result)
{
?>
<a href="ButtonClicked.php?id="<?PHP echo $result; ?>><div class="button">Im a button click me</div></a>
<?PHP
}
?>
在我看来,我认为您没有真正的必要为此使用javascript。
相关文章:
- 用javascript创建一个看起来正常分布的模式
- 看起来第一个console.log是'It’不太对
- 我让一个图像看起来像一个可点击的按钮,但现在当我点击它时,它不会起到超链接的作用
- 图像看起来像一个只在firefox中工作的按钮
- 修复一个看起来波涛汹涌的倒计时计时器
- JavaScript:$ 不是一个函数(但看起来是)
- 有没有办法在 css 中设计一个看起来完全是 html 下拉菜单的菜单
- 如何用一个合适的双引号替换这个看起来很奇怪的引号符号:“;
- HTML、PHP、JavaScript——如何为数据库中的每个单独记录制作一个按钮?看起来很简单,但事实并非如此;不起作
- 为什么 Object.prototype 看起来像一个空对象
- 看起来我'当我用弧度把一个半圆分成四部分时,我没有得到一条直线
- D3 示例:看起来像一个 JavaScript 变量,但像一个函数一样调用
- 我怎么能让一个粘性导航条在英雄的底部看起来透明,然后再固定在顶部
- 推特按钮看起来像一个正常的<a>链接没有任何JS或CSS
- HTML/javascript客户端图像压缩看起来像一个合理的、万无一失的计划吗?
- Html5 js一个页面看起来多页面
- d3js v4:我如何应用力到节点的点击,使它看起来像一个渐变
- 我想要一个jquery文本选择器插件,它看起来像文本选择器
- JS:变量看起来是一个字符串,但显示为:“;[对象对象]”;
- 有没有一个JavaScript预处理器可以让回调看起来很好看