使用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&

我在我的网站上有一份产品目录。下面的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>";
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里面。 对于那些被与这个问题的主要目的无关的代码片段弄糊涂的人,我想做一点解释

  • MySQL中的Products表是一个包含我所有产品信息的表,包括价格、名称、id、e.t.c

  • “Getdesc.php?hid=…”
    链接指向一个php网页,该网页将显示产品Id中的所有信息

  • “Products”是一个不同div的Id,它包含这个内部div(我指的是Products)以及一些其他内容(我不想全部告诉您)


  • 很抱歉代码太乱,请提前感谢。

    为什么不将所有内容都放在一个变量中:

    $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 id
    products
    ?需要某种形式的javascript,假设他在加载文档后尝试添加内容……比如