Php 显示类别图像后的图像
现在,在这里,我正在准备这样的过程,“画廊卡泰戈里”应该是高卢的类别ID 错误出现并描述如下:错误2:命令不同步;现在不能运行此命令 我想要的是: -希望它进入画廊,拍摄一张属于不同类别或区域的照片。 -它不应该一直在一起,而且对于每个图像,一次只能有一个图像Php 显示类别图像后的图像,php,mysqli,Php,Mysqli,现在,在这里,我正在准备这样的过程,“画廊卡泰戈里”应该是高卢的类别ID 错误出现并描述如下:错误2:命令不同步;现在不能运行此命令 我想要的是: -希望它进入画廊,拍摄一张属于不同类别或区域的照片。 -它不应该一直在一起,而且对于每个图像,一次只能有一个图像 function galleryKategori() { if ($st = $this->mysqli->prepare('SELECT id, title FROM gallery_kategori')) {
function galleryKategori()
{
if ($st = $this->mysqli->prepare('SELECT id, title FROM gallery_kategori')) {
$st->execute();
$st->bind_result($id, $title);
while ($st->fetch()) {
?>
<a href="/galleri-indhold/<?php echo $id;?>/">
<div class="galleryKategori">
<h4><?php echo $title;?></h4>
<?php
if ($stmt = $this->mysqli->prepare('SELECT rank, img FROM gallery WHERE kategori = ?')) {
$stmt->bind_param('i', $kategori);
$kategori = $id;
$stmt->execute();
$stmt->bind_result($rank, $img);
while ($stmt->fetch()) {
if($rank == 2)
{
}
}
$stmt->close();
} else {
echo 'Error 2: ' . $this->mysqli->error;
}
?>
</div>
</a>
<?php
}
$st->close();
}
else {
echo 'Error 1: ' . $this->mysqli->error;
}
}
函数galleryKategori()
{
如果($st=$this->mysqli->prepare('SELECT id,title FROM gallery_kategori')){
$st->execute();
$st->bind_结果($id,$title);
而($st->fetch()){
?>
在对代码进行了一些修改之后,这是因为您还没有使用该连接释放第一个结果 您需要使用两个MySQLi对象,或者以能够在此行之前调用
$st->free_result();
的方式重写代码:
$stmt = $this->mysqli->prepare('SELECT rank, img FROM gallery WHERE kategori = ?')
这就是让它正常工作所需要的一切
2013年8月14日编辑:
既然你问了,我会删除这个函数(除非这是一个对象,它看起来不像它)我对如何使用代码做了一些自由的考虑,但这里有一个小例子,说明一些可能有效的方法。我将结果存储在一个数组中,释放结果,并重用相同的语句对象
<?php
if( ( $st = $mysqli->prepare( 'SELECT id, title FROM gallery_kategori' ) ) !== FALSE ) {
$st->execute();
$st->bind_result( $id, $title );
while( $st->fetch() ) {
$categories[$id] = $title;
}
$st->free_result();
unset( $id, $title );
}
else {
echo 'Error 1: ' . $mysqli->error;
}
?>
<?php if( count( $categories ) > 0 ): ?>
<?php foreach( $categories as $id => $title ): ?>
<div class="galleryKategori">
<h4>
<a href="/galleri-indhold/<?php echo $id; ?>/">
<?php echo $title; ?>
</a>
</h4>
<?php
if( ( $st = $mysqli->prepare( 'SELECT rank, img FROM gallery WHERE kategori = ?' ) ) !== FALSE ) {
$st->bind_param( 'i', $id );
$st->execute();
$st->bind_result( $rank, $img );
while( $st->fetch() ) {
$gallery[$rank] = $img;
}
$st->free_result();
unset( $rank, $img );
}
else {
echo 'Error 2: ' . $mysqli->error;
}
?>
<?php if( count( $gallery ) > 0 ): ?>
<ul>
<?php foreach( $gallery as $rank => $img ): ?>
<li class="gallery rank-<?php echo $rank; ?>">
<a href="/galleri-indhold/<?php echo $id; ?>/">
<img src="<?php echo $img; ?>" alt="Image <?php echo $rank; ?>" />
</a>
</li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<ul>
<li>There are no images in this category.</li>
</ul>
<?php endif; ?>
</div>
<?php endforeach; ?>
<?php else: ?>
<p>Category Does Not Exist.</p>
<?php endif; ?>
<?php $mysqli->close(); ?>
在调用$stmt->bind_param('i',$kategori);?之前,您是否可以尝试声明$kategori=$id;?@Jason它可能不起作用:(将我的代码添加到我的答案中,我们SE志愿者以rep;)的形式提供提示。如果它能最好地解决您的问题,请不要忘记选择您的答案。
<?php
if( ( $st = $mysqli->prepare( 'SELECT id, title FROM gallery_kategori' ) ) !== FALSE ) {
$st->execute();
$st->bind_result( $id, $title );
while( $st->fetch() ) {
$categories[$id] = $title;
}
$st->free_result();
unset( $id, $title );
}
else {
echo 'Error 1: ' . $mysqli->error;
}
?>
<?php if( count( $categories ) > 0 ): ?>
<?php foreach( $categories as $id => $title ): ?>
<div class="galleryKategori">
<h4>
<a href="/galleri-indhold/<?php echo $id; ?>/">
<?php echo $title; ?>
</a>
</h4>
<?php
if( ( $st = $mysqli->prepare( 'SELECT rank, img FROM gallery WHERE kategori = ?' ) ) !== FALSE ) {
$st->bind_param( 'i', $id );
$st->execute();
$st->bind_result( $rank, $img );
while( $st->fetch() ) {
$gallery[$rank] = $img;
}
$st->free_result();
unset( $rank, $img );
}
else {
echo 'Error 2: ' . $mysqli->error;
}
?>
<?php if( count( $gallery ) > 0 ): ?>
<ul>
<?php foreach( $gallery as $rank => $img ): ?>
<li class="gallery rank-<?php echo $rank; ?>">
<a href="/galleri-indhold/<?php echo $id; ?>/">
<img src="<?php echo $img; ?>" alt="Image <?php echo $rank; ?>" />
</a>
</li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<ul>
<li>There are no images in this category.</li>
</ul>
<?php endif; ?>
</div>
<?php endforeach; ?>
<?php else: ?>
<p>Category Does Not Exist.</p>
<?php endif; ?>
<?php $mysqli->close(); ?>