Avatar billede Amalie Novice
27. marts 2017 - 16:46 Der er 17 kommentarer

Hjælp til kodning af billeder

Hej
Jeg har lavet en hjemme side hvor jeg har nogen produkter jeg gerne vil havet vist på en linje vandret. Lige nu står de lodret og begynder at gå længere til venstre på siden jo flere produkter jeg tilføjer. Mit spørgsmål er derfor: Hvordan får jeg mine produkter til at stå vandret med tre billeder ad gangen (der er lidt tekst til billeder også)
Håber i kan hjælpe
min kode ser så ledes ud
                            if (mysqli_connect_errno())
                            {
                                echo "Failed to connect to MySQL: " . mysqli_connect_error();
                            }

                            $result = mysqli_query($con,"SELECT * FROM Toej");
                           
                            while($row = mysqli_fetch_array($result))
                            {
                           
                                echo "<div class='Toej'>";
                                echo "<div class='billede'><img src='" . $row['billede'] . "' width='200'></div>";
                                echo "<div class='info'><h2>" . $row['navn'] . "</h2>";
                                echo "<p>" . $row['beskrivelse'];
                                echo "<p><b>Pris: </b>" . str_replace(".",",",$row['pris']) . " kr.</p>";
                                echo "<p><a href='addtocart.php?id=" . $row['nr'] . "'><button>Læg i kurv</button></a></p></div>";
                                echo "</div>";
                       
                            }
                           
                            mysqli_close($con);
                        ?>
Avatar billede jakobdo Ekspert
27. marts 2017 - 17:22 #1
Der er mange måder at gøre det på.
Du kan opstille dem i en tabel.

https://www.w3schools.com/html/html_tables.asp

Du kan opstille dem i et grid format:

http://getbootstrap.com/css/#grid

Du kan float dem med css:

https://www.w3schools.com/css/css_float.asp
Avatar billede Slettet bruger
27. marts 2017 - 20:33 #2
nogle siger at tabeller er gammeldags, men det er originalt HTML og designet til netop at opstille ting i kolonner lynhurtigt, og det er meget nemt at lave.

det kan godt være at CSS float er smart, men det kan fejle i browsere med CSS. man ser ofte at browseren ikke får css sheet, og viser en hjemmeside uden formattering, farver eller noget.

tabeller er lynhurtige og supernemme at ha med at gøre.
Avatar billede Amalie Novice
27. marts 2017 - 21:12 #3
Tak for gode bud!
Problemet er bare at mine vare/produkter, går ind over mysql - og jeg kan derved ikke helt finde hale i hvordan man skal gøre når billederne er i databasen..
Avatar billede Rune1983 Ekspert
28. marts 2017 - 07:13 #4
Hej Amalie

Har lige prøvet at tilpasse din kode lidt. Prøv dette nedenfor.

$result = mysqli_query($con,"SELECT * FROM Toej");
$Counter = 0;
$Antal = 3; // Antal emner på række.
while($row = mysqli_fetch_array($result))
{
    if($Counter%AntalPaaRaekke == 0){
        if($Counter == 0){
            echo "<div style='width: 100%;>";
        }else{
            echo "</div>";
            echo "<div style='width: 100%;>";
        }
    }
    $Counter++;
    echo "<div class='Toej'>";
    echo "<div class='billede'><img src='" . $row['billede'] . "' width='200'></div>";
    echo "<div class='info'><h2>" . $row['navn'] . "</h2>";
    echo "<p>" . $row['beskrivelse'];
    echo "<p><b>Pris: </b>" . str_replace(".",",",$row['pris']) . " kr.</p>";
    echo "<p><a href='addtocart.php?id=" . $row['nr'] . "'><button>Læg i kurv</button></a></p></div>";
    echo "</div>";
   
}
if($Counter > 0){
    echo "</div>";
}
Avatar billede Amalie Novice
28. marts 2017 - 17:33 #5
det hjalp i hvertfald med at få varene på en lige lodret række ! så lidt hjalp det ! tak for hjælp! :) vandret blev den ikke...
Avatar billede jakobdo Ekspert
28. marts 2017 - 20:15 #6
http://stackoverflow.com/questions/7138954/split-data-into-3-columns

Du kan også prøve en af disse.

Det kan løses, hvor langt kommer du selv ?
Prøv at vis din kode?
Vis dit output.

Vis hvad du selv har forsøgt, så er det nogle gange nemmere at guide, end bare: "det virker ikke" :)
Avatar billede Amalie Novice
28. marts 2017 - 20:33 #7
Har indsat min kode øverst? kan ikke indsætte billeder..
Men tror at det er min tekst til billeder (varebeskrivelse) der er problemet - får har kunne rykke rundt på selve billederne
<div class="indhold">
                  <p>
                      <div class="varer"
                        <?php
                            $con=mysqli_connect(localhost,"*******","*****","********");
                           
                    $result = mysqli_query($con,"SELECT * FROM Toej");
                    $Counter = 0;
                    $Antal = 3; // Antal emner på række.
                    while($row = mysqli_fetch_array($result))
                    {
                        if($Counter%AntalPaaRaekke == 0){
                            if($Counter == 0){
                                echo "<div style='width: 100%;>";
                                echo "<div style='height: 100%;>";
                            }else{
                                echo "</div>";
                                echo "<div style='width: 100%;>";
                               
                            }
                        }
                        $Counter++;
                        echo "<div class='Toej'>";
                        echo "<div class='billede'><img src='" . $row['billede'] . "' width='200'></div>";
                        echo "<div class='info'><h2>" . $row['navn'] . "</h2>";
                        echo "<p>" . $row['beskrivelse'];
                        echo "<p><b>Pris: </b>" . str_replace(".",",",$row['pris']) . " kr.</p>";
                        echo "<p><a href='addtocart.php?id=" . $row['nr'] . "'><button>Læg i kurv</button></a></p></div>";
                        echo "</div>";
                       
                        }
                        if($Counter > 0){
                            echo "</div>";
                        }

                            mysqli_close($con);
                        ?>
                  </div>
                  </p>
            </div>
Avatar billede Rune1983 Ekspert
29. marts 2017 - 07:05 #8
Hvilke styles har du i dine classes "billede" og "info" og "Toej" og "varer"?
Avatar billede jakobdo Ekspert
29. marts 2017 - 08:04 #9
Har du et link til din side ?
Hvis vi kan se "koden" og se output og følge lidt med, så er det nogle gange nemmere at guide.
Avatar billede Amalie Novice
29. marts 2017 - 14:31 #10
Avatar billede jakobdo Ekspert
29. marts 2017 - 16:15 #11
Jeg ser dette: http://imgur.com/a/2Gqrc

Hvad er der galt i denne opstilling ?
Dine billeder er jo ret store, så hvis du skal have 3 pr række, så skal du gøre billederne mindre.
Avatar billede Amalie Novice
29. marts 2017 - 16:24 #12
Nåår det er varene under produkter og så underkategorierne i den dropdown :)
Avatar billede jakobdo Ekspert
29. marts 2017 - 20:30 #13
Den forstod jeg ikke...
Mener du det er denne side der driller: http://www.inftek.dk/emma8011/toej.php

Eller hvad mener du ?
Avatar billede Amalie Novice
31. marts 2017 - 19:23 #14
ja :) Jeg ville gerne have at billederne stod ved siden af hinanden plus teksten passer. Men jeg kan kun få billederne ved siden af hinanden, uden at teksten følger med. Og ville gerne have der skulle være tre billeder på en række :)

Tak for hjælpen !! jeg værdsætter det !
Avatar billede Rune1983 Ekspert
03. april 2017 - 07:16 #15
Hej igen Amalie

Har prøvet at rette din kode til igen.
Dette nedenfor skulle gerne vise 3 ved siden af hinanden og med tekst under

<?php
$result = mysqli_query($con,"SELECT * FROM Toej");
$Counter = 0;
$Antal = 3; // Antal emner på række.
while($row = mysqli_fetch_array($result))
{
    if($Counter%AntalPaaRaekke == 0){
        if($Counter == 0){
            ?>
            <div style="float: left; width: 100%;">
            <?php
        }else{
            ?>
            </div>
            <div style="float: left; width: 100%;">
            <?php
        }
    }
    $Counter++;
    ?>
    <div style="float: left; width: 250px; margin-right; 10px;">
        <div style="float: left; width: 100%;"><img style="width: 200px;" src="<?php echo $row['billede']; ?>"></div>
        <div style="float: left; width: 100%;"><h2><?php echo $row['navn']; ?></h2></div>
        <div style="float: left; width: 100%;"><?php echo $row['beskrivelse']; ?><div>
        <div style="float: left; width: 100%;"><?php echo str_replace(".",",",$row['pris']); ?> kr.<div>
        <div style="float: left; width: 100%;"><a href="<?php echo "addtocart.php?id=$row[nr]"; ?>"><button>Læg i kurv</button></a></div>
    </div>
    <?php
}
if($Counter > 0){
    ?>
    </div>
    <?php
}
?>
Avatar billede Amalie Novice
05. april 2017 - 09:31 #16
Tusinde tak for hjælpen !! det hjalp rigtig meget, min kodning blev ikke helt som den du rettede men brugte lidt fra den gamle og fra den nye kode og så virkede det ! :) dog ikke 3 på en række men det gør intet :) nu står det lige og pænt
Avatar billede Rune1983 Ekspert
05. april 2017 - 12:43 #17
Super godt at høre. Glad for at kunne hjælpe.
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