Avatar billede tobrukDk Novice
14. august 2013 - 16:33 Der er 1 løsning

Fremvis billede efter hvilken Kategori

Hej


lige 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!
Avatar billede tobrukDk Novice
29. august 2013 - 08:48 #1
Har klart opgaven :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester