【问题标题】:Populate PHP in HTML在 HTML 中填充 PHP
【发布时间】:2023-04-10 16:39:02
【问题描述】:

我目前正在尝试从 php 代码填充画廊。查看萤火虫代码正在触发并正常运行,除了它在文件 dyna.php 而不是 index.html 中编写代码 我如何让它填充到 index.html 中的特定 div 中。

另外,我如何让它只自动创建<li> 标签而不是<ul> 标签。

dyna.php

<?
session_start();
$database = mysql_connect( "localhost", "groupsix_001", "4312001" );    

mysql_select_db( "groupsix_user_information", $database );
$getimg = mysql_query("SELECT imagename FROM images WHERE categoryid = '38'");
while($row = mysql_fetch_array($getimg))
{
    echo "<ul id='gallery'>".
    "<li class='loaded'>" . 
    "<a href='/IMAGES/". $row['imagename'] .">" . "</a>".
    "</li>
    </ul>"
    ;
}
?>

我有 jquery 在单击按钮时运行 dyna.php

我想把它插入我的

<div id="gallery"> </div>

jquery

function dosomething(){
  $.get("Gallery/dyna.php");
  return false;
};

【问题讨论】:

  • 您不能在 html 文件中包含 php 代码。你必须反其道而行之。在您的 php 文件中包含 html。
  • 发布您的jQuery 代码。

标签: php html gallery populate


【解决方案1】:

你可以试试这样的

HTML(假设您有一个 ID 为 getImages 的按钮)

<button id="getImages"></button>
<div id="gallery"> </div>

JS

$(function(){
    $('#getImages').on('click', function(){
        $.get("Gallery/dyna.php", function(data){
            $('#gallery').html(data);
        });
    });
});

PHP

// ...
$getimg = mysql_query("your query");
if($getimg)
{
    // ID should be unique, so use 'gallery_inner' because parent div's ID is gallery
    echo "<ul id='gallery_inner'>";
    // the loop, keep the ul outside of the loop
    while($row = mysql_fetch_array($getimg))
    {
        echo "<li class='loaded'>"; 
        echo "<a href='IMAGES/" . $row['imagename'] . "'></a></li>";
     }
     echo "</ul>";
}
else
{
    echo "Images not available.";
}

注意: mysql_query 自 PHP 5.5.0 起已弃用,将来将被删除。相反,应使用 MySQLiPDO_MySQL 扩展名。

【讨论】:

  • 谢谢谢赫。那行得通。我现在唯一的问题是图像没有加载。你知道什么会导致这个问题吗?当我复制并粘贴链接时,它会显示,但它们不在图库中。
  • 图片路径可能有误,或许你可以像http://yourdomain.com/pathtoimagesfolder/$row['imagename']一样使用绝对url
【解决方案2】:

PHP 在脚本执行的任何地方呈现。因此,如果您的 dyna.php 页面中有 echo 标签,它将输出到该文件。

您要做的是向该脚本发送请求,然后打印响应,这将是您脚本的回显内容。打印外部脚本内容的最常见方法是使用 AJAX,它允许您在 javascript(或 jQuery)中发送请求并捕获响应,而无需重新加载您所在的页面。 http://www.w3schools.com/ajax/ajax_aspphp.asp

如果您使用 jQuery,将响应 html 插入 div 的最简单方法是使用 html() 函数: http://www.w3schools.com/jquery/html_html.asp

$('#gallery').html(responseHTML);

【讨论】:

  • 谢谢,我正在研究使用 jQuery 方法。我遇到的唯一问题是我不确定如何捕获 php 文件中的信息。
【解决方案3】:

Sheikh Heera 的替代方案:

$getimg = mysqli_query($connection,"your query") or die(mysqli_error());
if($getimg) {
// ID should be unique, so use 'gallery_inner' because parent div's ID is gallery
echo '<ul id="gallery_inner">';
// the loop, keep the ul outside of the loop
while($row = mysql_fetch_array($getimg))
{
    echo '<li class="loaded">
    <a href="IMAGES/'. $row['imagename'] .'"></a></li>';
 }
 echo '</ul>';} else { echo 'Images not available.';}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多