我正在使用PHP和JS/jQuery创建一个多语言单页网站。
只有几段文本可以互换,但没有理由让用户重新加载整个页面的图像。
下面你可以看到有三个变量:1. imgVar2. titleVar3.textVar
imgVar不会改变,但titleVar和textVar会根据选择的语言而不同。
同样,这段代码需要作为foreach循环运行,因为它将有多个实例。
<div class="col-md-4">
<div class="portfolio-item">
<img class="img-responsive" src="assets/img/portfolio/**imgVar**.jpg" alt="" />
<h4><span> **titleVar** </span></h4>
<div class="portfolio-text">
<p><span> **textVar** </span></p>
</div>
</div>
</div>
我不确定组织变量集的最佳方式是什么(可能是JSON?)或者PHP数组?)或者我尝试做的事情是否可能,特别是在不重新加载页面的情况下。
我知道我将最有可能使用AJAX,但我不能添加jQuery load函数到HTML以外的任何东西,这将不允许我编写PHP foreach循环。
提前感谢!
目标是"查询"数据库以显示此信息。像下面这样使用PDO连接…
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM table";
$q = $pdo->prepare($sql);
$q->execute(array());
$Query = $q->fetchAll();
你可以作弊,并运行它作为一个'函数'
function mySwitch($Title,$Text,$Image) {
<div class="col-md-4">
<div class="portfolio-item">
<img class="img-responsive" src="assets/img/portfolio/<?php echo $Image; ?> .jpg" alt="" />
<h4><span><?php echo $Title; ?> </span></h4>
<div class="portfolio-text">
<p><span><?php echo $Text; ?> </span></p>
</div>
</div>
</div>
}
那么你就可以用前向循环
foreach ($Query as $row) {
echo mySwitch($row['row'],$row['columnhere'],$row['columnhere']);
}
应该显示
<div class="col-md-4">
<div class="portfolio-item">
<img class="img-responsive" src="assets/img/portfolio/Image252.jpg" alt="" />
<h4><span>My Title here</span></h4>
<div class="portfolio-text">
<p><span>Text goes here </span></p>
</div>
</div>
</div>
我会发现自己经常做类似的事情,特别是当我有重复的代码;这样就很容易通过了。此外,调试是干净的/易于阅读。
作为一个参考,这是未经测试的。