如何在变量集之间切换而无需加载新页面
How to switch between variable sets without having to load a new page?
我正在使用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>
我会发现自己经常做类似的事情,特别是当我有重复的代码;这样就很容易通过了。此外,调试是干净的/易于阅读。
作为一个参考,这是未经测试的。
相关文章:
- 超链接单击以加载新页面并执行JavaScript
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 避免在打印后加载新页面,下一页应从上次打印页面的剩余部分打印 - 点阵打印机
- 在加载新页面时保持选项卡永久处于活动状态
- 更改 URL 并使用 AJAX 获取响应加载新页面的最佳方法是什么
- 在当前页面上动画和加载新页面
- 如何在每次单击链接以加载新页面时停止加载其他资产
- 如何让我的wordpress网站在同一页面中显示博客文章,而无需使用AngularJS加载新页面
- 在WordPress上加载新页面时重新加载标题
- JavaScript 中的函数在通过单击 href url 加载新页面时不会调用
- 获取已更改的下拉选择的值,然后加载新页面
- 验证以检查数据库中是否已存在用户名,而无需加载新页面
- 每次加载新页面时,在iOS webView中运行JS
- 使用javascript在短暂的暂停/延迟后加载新页面
- 使用Javascript/Ajax加载新页面
- Javascript知道何时加载新页面
- JQuery bPopup从弹出窗口中删除旧页面,并在其中加载新页面
- 当按键按下时,如何使用javascript加载新页面