Fremvis billede efter hvilken Kategori
Hejlige nu og her er jeg i gang med at udarbejde sådan at "gallery_kategori" skal ligge en ID over til galler's kategori
Det som jeg gerne vil have ud af:
- Vil gerne have at den skal gå ind i Gallery og tag et billede som tilhører end for den kategori eller det område.
- Det skal ikke være det sammen hele tiden og det skal kun være et billede ad gang til hvert billede som der er.
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 = ?')) {
$kategori = $id;
$stmt->bind_param('i', $kategori);
$stmt->execute();
$stmt->bind_result($rank, $img);
while ($stmt->fetch()) {
if($rank == 2)
{
echo "Hey";
}
}
$stmt->close();
} else {
echo 'Error 1: ' . $this->mysqli->error;
}
?>
</div>
</a>
<?php
}
$st->close();
}
else {
echo 'Error 2: ' . $this->mysqli->error;
}
}
Jeg har også prøvet sådan her;
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 1: ' . $this->mysqli->error;
}
?>
</div>
</a>
<?php
}
$st->close();
}
else {
echo 'Error 2: ' . $this->mysqli->error;
}
}
Det sidste nye som næsten virker men dog ikke helt virker
function galleryKategori()
{
if ($st = $this->mysqli->prepare('SELECT id, title FROM gallery_kategori'))
{
$st->execute();
$st->bind_result($id, $title);
$st->fetch();
$st->close();
?>
<div class="galleryKategori">
<?php echo $title;?>
<?php
if ($stmt = $this->mysqli->prepare('SELECT navn, img FROM gallery WHERE kategori = ? ORDER BY RAND() LIMIT 1')) {
$kategori = $id;
$stmt->bind_param('i', $kategori);
$stmt->execute();
$stmt->bind_result($navn, $img);
if($stmt->fetch()) {
?>
<img src="/indhold/gallery/index/<?php echo $img;?>" alt="<?php echo $navn;?>" />
<?php
}
$stmt->close();
} else {
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
?>
</div>
<?php
}
}
Problemet er bare nu at den kun kommer frem med en fra Gallery_kategori, det vil sige at jeg få kun angive en til Gallery,
Gallery virker som det skal!! dog mangler jegbare at få angive nogle flere boxe!
Der kommer kun 1 frem, jeg mangler resten af Galler_kategori,
Jeg har også prøvet at gøre sådan her:
SELECT id, title FROM gallery_kategori WHERE id > 0
SELECT id, title FROM gallery_kategori WHERE id >= 1
Hvis jeg sletter de her;
$st->fetch();
$st->close();
så kommer den frem med en fejl: Error 1: Commands out of sync; you can't run this command now
Håber du kan hjælp mig videre!