我使用PHP和JS / jQuery创建一个多语言的单页网站。
只有少数文本可以互换,但没有理由让用户用图像重新加载整个页面。
下面你可以看到有三个变量: 1. imgVar 2. titleVar 3. 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 加载函数添加到除HTML之外的任何内容上,这不允许我编写PHP foreach循环。
提前谢谢!
答案 0 :(得分:-1)
目标是“查询”您的数据库以显示此信息。像下面这样使用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>
我会发现自己经常做类似的事情,特别是当我有重复的代码时;使它变得简单易行。调试也很干净/易于阅读。
这是未经测试的,仅供参考。