使用Javascript添加时未包含在div中的元素
我在我的网站上有一份产品目录。下面的PHP代码使用javascript创建一个div,并在其中插入所有产品描述链接使用Javascript添加时未包含在div中的元素,javascript,php,html,dom,Javascript,Php,Html,Dom,我在我的网站上有一份产品目录。下面的PHP代码使用javascript创建一个div,并在其中插入所有产品描述链接 $sql = "SELECT * from Products ORDER BY `Name` ASC"; $result = mysqli_query($con, $sql); echo "<script>document.getElementById('products').innerHTML = '<div class=ks>';</script&
$sql = "SELECT * from Products ORDER BY `Name` ASC";
$result = mysqli_query($con, $sql);
echo "<script>document.getElementById('products').innerHTML = '<div class=ks>';</script>";
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
$xx = '<a href="Getdesc.php?hid='.$rowid . '" class=lnk>' . $row['Name'] . '</a><br>';
echo "<script>document.getElementById('products').innerHTML += '$xx';</script>";
}
echo "<script>document.getElementById('products').innerHTML += '</div>';</script>";
$sql=“按`Name`ASC`从产品订单中选择*;
$result=mysqli\u查询($con,$sql);
echo“document.getElementById('products')。innerHTML=”;
while($row=mysqli\u fetch\u assoc($result))
{
$rowid=$row['Id'];
$xx=“
”;
echo“document.getElementById('products').innerHTML+='$xx';”;
}
echo“document.getElementById('products').innerHTML+=''”;
暂时忽略所有的ks
样式表类和所有mysql内容。
问题是它显示灰色背景div(样式表中的灰色)
然后是链接。我需要链接在div里面。
对于那些被与这个问题的主要目的无关的代码片段弄糊涂的人,我想做一点解释
“Getdesc.php?hid=…”
链接指向一个php网页,该网页将显示产品Id中的所有信息很抱歉代码太乱,请提前感谢。为什么不将所有内容都放在一个变量中:
$html = '<div class="ks">'; // btw you forgot those double-quotes. you html won't evaluate the class if not surrounded by double-quotes
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
$xx = '<a href="Getdesc.php?hid='.$rowid . '" class=lnk>' . $row['Name'] . '</a><br>';
$html.= $xx;
}
$html.= '</div>';
为什么不将所有内容都放在一个变量中:
$html = '<div class="ks">'; // btw you forgot those double-quotes. you html won't evaluate the class if not surrounded by double-quotes
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
$xx = '<a href="Getdesc.php?hid='.$rowid . '" class=lnk>' . $row['Name'] . '</a><br>';
$html.= $xx;
}
$html.= '</div>';
为什么不将所有内容都放在一个变量中:
$html = '<div class="ks">'; // btw you forgot those double-quotes. you html won't evaluate the class if not surrounded by double-quotes
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
$xx = '<a href="Getdesc.php?hid='.$rowid . '" class=lnk>' . $row['Name'] . '</a><br>';
$html.= $xx;
}
$html.= '</div>';
为什么不将所有内容都放在一个变量中:
$html = '<div class="ks">'; // btw you forgot those double-quotes. you html won't evaluate the class if not surrounded by double-quotes
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
$xx = '<a href="Getdesc.php?hid='.$rowid . '" class=lnk>' . $row['Name'] . '</a><br>';
$html.= $xx;
}
$html.= '</div>';
Javascript:
//from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function reqListener () {
document.getElementById('products').innerHTML = this.responseText;
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.php", true);
oReq.send();
PHP
$sql = "SELECT <columns> from Products ORDER BY `Name` ASC";
$result = mysqli_query($con, $sql);
echo '<div class="ks">';
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
echo '<a href="Getdesc.php?hid=' . $rowid . '" class="lnk">' . htmlspecialchars($row['Name']) . '</a><br>';
}
echo '</div>'
$sql=“按`Name`ASC'从产品订单中选择”;
$result=mysqli\u查询($con,$sql);
回声';
while($row=mysqli\u fetch\u assoc($result))
{
$rowid=$row['Id'];
回声“
”;
}
回声“
Javascript:
//from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function reqListener () {
document.getElementById('products').innerHTML = this.responseText;
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.php", true);
oReq.send();
PHP
$sql = "SELECT <columns> from Products ORDER BY `Name` ASC";
$result = mysqli_query($con, $sql);
echo '<div class="ks">';
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
echo '<a href="Getdesc.php?hid=' . $rowid . '" class="lnk">' . htmlspecialchars($row['Name']) . '</a><br>';
}
echo '</div>'
$sql=“按`Name`ASC'从产品订单中选择”;
$result=mysqli\u查询($con,$sql);
回声';
while($row=mysqli\u fetch\u assoc($result))
{
$rowid=$row['Id'];
回声“
”;
}
回声“
Javascript:
//from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function reqListener () {
document.getElementById('products').innerHTML = this.responseText;
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.php", true);
oReq.send();
PHP
$sql = "SELECT <columns> from Products ORDER BY `Name` ASC";
$result = mysqli_query($con, $sql);
echo '<div class="ks">';
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
echo '<a href="Getdesc.php?hid=' . $rowid . '" class="lnk">' . htmlspecialchars($row['Name']) . '</a><br>';
}
echo '</div>'
$sql=“按`Name`ASC'从产品订单中选择”;
$result=mysqli\u查询($con,$sql);
回声';
while($row=mysqli\u fetch\u assoc($result))
{
$rowid=$row['Id'];
回声“
”;
}
回声“
Javascript:
//from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function reqListener () {
document.getElementById('products').innerHTML = this.responseText;
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.php", true);
oReq.send();
PHP
$sql = "SELECT <columns> from Products ORDER BY `Name` ASC";
$result = mysqli_query($con, $sql);
echo '<div class="ks">';
while($row = mysqli_fetch_assoc($result))
{
$rowid = $row['Id'];
echo '<a href="Getdesc.php?hid=' . $rowid . '" class="lnk">' . htmlspecialchars($row['Name']) . '</a><br>';
}
echo '</div>'
$sql=“按`Name`ASC'从产品订单中选择”;
$result=mysqli\u查询($con,$sql);
回声';
while($row=mysqli\u fetch\u assoc($result))
{
$rowid=$row['Id'];
回声“
”;
}
回声“
这不是一个答案,但有几件事需要注意:将javascript与php分开是明智的做法,而不是对SELECT查询使用*
。您每次都在查找元素,这有点低效。特别是如果有很多行要循环…为什么不让php脚本直接输出html,然后使用ajax请求加载该php脚本并在成功时附加html?@Dave,谢谢您的建议!,我将尝试这样做,而不是添加一个单独的javascript函数,该函数接受一组产品名称和目标链接,并将其放入div中,然后在MySQL查询完成后从PHP调用它,这是一个好的解决方案吗?@user2332868习惯它。堆栈溢出充满了巨魔。这不是一个答案,但有几件事需要注意:将javascript与php分离是明智的,而不是使用*
进行选择查询。您每次都在查找元素,这有点低效。特别是如果有很多行要循环…为什么不让php脚本直接输出html,然后使用ajax请求加载该php脚本并在成功时附加html?@Dave,谢谢您的建议!,我将尝试这样做,而不是添加一个单独的javascript函数,该函数接受一组产品名称和目标链接,并将其放入div中,然后在MySQL查询完成后从PHP调用它,这是一个好的解决方案吗?@user2332868习惯它。堆栈溢出充满了巨魔。这不是一个答案,但有几件事需要注意:将javascript与php分离是明智的,而不是使用*
进行选择查询。您每次都在查找元素,这有点低效。特别是如果有很多行要循环…为什么不让php脚本直接输出html,然后使用ajax请求加载该php脚本并在成功时附加html?@Dave,谢谢您的建议!,我将尝试这样做,而不是添加一个单独的javascript函数,该函数接受一组产品名称和目标链接,并将其放入div中,然后在MySQL查询完成后从PHP调用它,这是一个好的解决方案吗?@user2332868习惯它。堆栈溢出充满了巨魔。这不是一个答案,但有几件事需要注意:将javascript与php分离是明智的,而不是使用*
进行选择查询。您每次都在查找元素,这有点低效。特别是如果有很多行要循环…为什么不让php脚本直接输出html,然后使用ajax请求加载该php脚本并在成功时附加html?@Dave,谢谢您的建议!,我将尝试这样做,而不是添加一个单独的javascript函数,该函数接受一组产品名称和目标链接,并将其放入div中,然后在MySQL查询完成后从PHP调用它,这是一个好的解决方案吗?@user2332868习惯它。堆栈溢出满是巨魔。他将如何从代码中将内容附加到div idproducts
?需要某种形式的javascript,假设他在加载文档后尝试添加内容……比如