【问题标题】:insert echo into the specific html element like div which has an id or class将 echo 插入到特定的 html 元素中,例如具有 id 或类的 div
【发布时间】:2012-03-26 02:56:28
【问题描述】:

我有这个代码。

<html>
<head>
<style type="text/css">
body{background:#666666;}
div{border:1px solid red;}
</style>
</head>
<body>
<?php

$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("juliver", $con);

$result = mysql_query("SELECT * FROM hi");

while($row = mysql_fetch_array($result))
{

echo '<img src="'.$row['name'].'" />';  
echo "<div>".$row['name']."</div>";
echo "<div>".$row['title']."</div>";
echo "<div>".$row['description']."</div>";
echo "<div>".$row['link']."</div>";
echo "<br />";
}

mysql_close($con);

?>
</body>
</html>

上面的代码有效。

现在,我想插入这个

echo '<img src="'.$row['name'].'" />'; 
echo "<div>".$row['name']."</div>";
echo "<div>".$row['title']."</div>";
echo "<div>".$row['description']."</div>";
echo "<div>".$row['link']."</div>";
echo "<br />";

插入到指定的div或者html中的其他元素中,例如我就插入这个

echo '<img src="'.$row['name'].'" />';

进入html元素。

我不知道该怎么做,请帮助我。谢谢

朱利弗

【问题讨论】:

  • 您要插入 whatwhere?请修改您的问题
  • 在使用之前,您需要使用 isset($row['something']) 确保这些键存在于 $row 数组中

标签: php javascript jquery


【解决方案1】:

如果你想放置在一个像 我有同样的工作,我喜欢这样做

<div id="content>
<?php
while($row = mysql_fetch_array($result))
{
echo '<img src="'.$row['name'].'" />';  
echo "<div>".$row['name']."</div>";
echo "<div>".$row['title']."</div>";
echo "<div>".$row['description']."</div>";
echo "<div>".$row['link']."</div>";
echo "<br />";
}
?>
</div>

【讨论】:

    【解决方案2】:

    我能想到的只有

    1. 包括文件
    2. 使用 preg_match_all 替换文件中的元素
    3. 使用赋值变量

    我最近一直在使用 str_replace 并像这样在 HTML 部分中设置文本

    {{TEXT_TO_REPLACE}}
    

    使用 file_get_contents() 你可以获取 html 数据,然后按照你喜欢的方式组织它。

    这是一个演示

    myReplacementCodeFunction(){
      $text = '<img src="'.$row['name'].'" />'; 
      $text .= "<div>".$row['name']."</div>";
      $text .= "<div>".$row['title']."</div>";
      $text .= "<div>".$row['description']."</div>";
      $text .= "<div>".$row['link']."</div>";
      $text .= "<br />";
      return $text;
    }
    
    $htmlContents = file_get_contents("myhtmlfile.html");
    $htmlContents = str_replace("{{TEXT_TO_REPLACE}}", myReplacementCodeFunction(), $htmlContents);
    echo $htmlContents;
    

    现在是一个演示 html 文件:

    <html>
    <head>
       <style type="text/css">
          body{background:#666666;}
          div{border:1px solid red;}
       </style>
      </head>
      <body>
        {{TEXT_TO_REPLACE}}
      </body>
    </html>
    

    【讨论】:

    • 我一直在使用 phtml(5 年后),这让这变得更容易了。您可以在 html 中间使用它: = phpcodehere ?> 并制作一个 foreach,您可以这样做: 循环内容,然后
    【解决方案3】:

    您可以在另一个文件中编写 php 代码并将其包含在您想要的适当位置。

    AJAX 还用于将 PHP 形成的 HTML 内容显示为指定的 HTML 标记。

    使用 jQuery:

    $.ajax({url: "test.php"}).done(function( html ) {
        $("#results").append(html);
    });
    

    上面的代码会执行test.php,结果会显示在id为results的元素中。

    【讨论】:

      【解决方案4】:

      当 HTML 已经生成时,您无法在 PHP 中执行此操作。你可以做的是使用 JavaScript 或 jQuery:

      document.getElementById('//ID//').innerHTML="HTML CODE";
      

      如果您的 URI 更改时必须这样做,您可以获取 URI,然后将其拆分,然后在脚本中动态插入 HTML:

      var url = document.URL;
      // to get url and then use split() to check the parameter
      

      【讨论】:

        【解决方案5】:

        参考基础。

        $sql = "INSERT INTO MyGuests (firstname, lastname, email)
        VALUES ('John', 'Doe', 'john@example.com')";
        if ($conn->query($sql) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
        

        【讨论】:

          【解决方案6】:

          没有办法专门用 php 定位元素,你可以在 div 标签之间嵌入 php 代码或使用更长的 jquery。

          【讨论】:

          • ahmm.. 我想最好的方法是通过 jquery 或 javascript 或 ajax 以及,你能告诉我如何在 jquery 上做到这一点吗?
          【解决方案7】:

          你可以通过再次获取数据来重复它

           while($row = mysql_fetch_assoc($result)){
           //another html element
           <div>$row['name']</div>
           <div>$row['title']</div>
           //and so on
           }
          

          或者你需要把它放在变量上,然后在其他html元素上再次调用显示

           $name = $row['name'];
           $title = $row['title']
           //and so on
          

          然后放到另一个元素上,但是如果要调用每个id的所有数据,需要做第一个代码

          【讨论】:

            【解决方案8】:

            你试过了吗?:

                $string = '';
                while($row = mysql_fetch_array($result))
                {
                //this will combine all the results into one string
                $string .= '<img src="'.$row['name'].'" />
                            <div>'.$row['name'].'</div>
                            <div>'.$row['title'].'</div>
                            <div>'.$row['description'].'</div>
                            <div>'.$row['link'].'</div><br />';
            
                //or this will add the individual result in an array
             /*
                 $yourHtml[] = $row;
            */
                }
            

            然后您将 $tring 回显到您想要的位置

            <div id="place_here">
               <?php echo $string; ?>
               <?php 
                 //or
                /*
                  echo '<img src="'.$yourHtml[0]['name'].'" />;//change the index, or you just foreach loop it
                */
                ?>
            </div>
            

            【讨论】:

            • 注意:整个字符串是串联的。我不确定您是否要单独打印。
            【解决方案9】:

            从您的代码中可以清楚地看出 $row['name'] 是图像在文件中的位置,尝试像这样包含 div 标签

            echo '<div>' .$row['name']. '</div>' ;
            

            对其他人也这样做,如果它有效,请告诉我,因为你说你的代码的一个 sn-p 给出了想要的结果,所以试试这个,如果 div 有一些类说明符,那么就这样做

            echo '<div class="whatever_it_is">' . $row['name'] . '</div'> ;
            

            【讨论】:

              【解决方案10】:

              您必须在 div 周围加上单引号。 ' ' Div 必须在单引号的中间。我会举一个例子来说明:

              <?php
                      echo '<div id="output">'."Identify".'<br>'.'<br>';
                      echo 'Welcome '."$name";
                      echo "<br>";
                      echo 'Web Mail: '."$email";
                      echo "<br>";
                      echo 'Department of '."$dep";
                      echo "<br>";
                      echo "$maj";
                      '</div>'
              ?>
              

              希望有用。

              【讨论】:

                【解决方案11】:

                我使用此代码或类似代码将 PHP 消息注入到位于其他元素前面的固定 DIV(z-index:9999)只是为了在开发阶段方便。

                每条 PHP 消息都传递到我的“custom_message()”函数中,并进一步传递到由回显 JS 创建的预格式化 DIV 的内部。

                可以有多少个,都放在那个固定的 DIV 中,一个在另一个之下。

                <style>
                    #php_messages {
                        position: fixed;
                        left: 0;
                        top: 0;
                        z-index: 9999;
                    }
                    .php_message {
                        background-color: #333;
                        border: red solid 1px;
                        color: white;
                        font-family: "Courier New", Courier, monospace;
                        margin: 1em;
                        padding: 1em;
                    }
                </style>
                
                <div id="php_messages"></div>
                
                <?php
                    function custom_message($output) {
                        echo
                            '
                                <script>
                                    var
                                        el = document.createElement("DIV");
                                    el.classList.add("php_message");
                                    el.innerHTML = \''.$output.'\';
                                    document.getElementById("php_messages").appendChild(el);
                                </script>
                            ';
                    }
                ?>
                

                【讨论】:

                • 虽然此代码可能会为问题提供解决方案,但最好添加有关其工作原理/方式的上下文。这可以帮助未来的用户学习并最终将这些知识应用到他们自己的代码中。在解释代码时,您也可能会得到用户的积极反馈/赞成。
                猜你喜欢
                • 1970-01-01
                • 2014-10-10
                • 1970-01-01
                • 2023-01-14
                • 1970-01-01
                • 2015-11-08
                • 2011-08-09
                • 2018-06-01
                • 2023-03-16
                相关资源
                最近更新 更多