当前,以下代码显示$ ids数组...
我如何仅回显1个ID? 我想以不同的方式而不是一次全部地回显每个id。 现在,它的回声同时是所有4个ID。 我希望单独回应他们 其工作方式与在$ ids中提及的所有会徽图像相呼应。 我希望他们单独回声而不是通过foreach 我希望它能回声类似
会徽($ guild-> guild_id of $ ids = 1);?>
会徽($ guild-> guild_id of $ ids = 2);?> 国徽($ guild-> guild_id of $ ids = 3);?> 等等...
下面是代码
<?php
$castleNames = Flux::config('CastleNames')->toArray();
$ids = "1,2,3,4";
$sql = "SELECT castles.castle_id, castles.guild_id, guild.name AS guild_name, guild.emblem_len FROM {$server->charMapDatabase}.guild_castle AS castles ";
$sql .= "LEFT JOIN guild ON guild.guild_id = castles.guild_id ";
$sql .= "WHERE castles.castle_id IN ($ids)";
$sql .= "ORDER BY castles.castle_id ASC";
$sth = $server->connection->getStatement($sql);
$sth->execute(array_keys($castleNames));
$castles = $sth->fetchAll();
?>
<?php if ($castles): ?>
<?php foreach ($castles as $guild): ?>
<div class="flag">
<img width="24" src="<?php echo $this->emblem($guild->guild_id) ?>">
</div>
<?php endforeach ?>
<?php endif ?>
预先感谢 请注意,我对phpmysql具有非常非常的基础知识,非常初学者阶段
答案 0 :(得分:-1)
更改代码以包含一个foreach循环。
<?php if ($castles): ?>
<?php foreach ($castles as $guild): ?>
<?php foreach ($guild->guild_id as $id): ?>
<div class="flag">
<img width="24" src="<?php echo $this->emblem($id) ?>">
</div>
<?php endforeach ?>
<?php endforeach ?>
<?php endif ?>