Avatar billede blackunicorn Nybegynder
07. december 2009 - 16:45 Der er 8 kommentarer og
1 løsning

Flere rækker

For noget tid siden lavede en ven nedenstående til mig, og det virker fint.

Den laver 2 rækker med billeder.. 7 i hver række.

Mit spørgsmål er så, hvordan får jeg 3 eller flere rækker istedet for 2 ?

<?   
    $test = 0;
    while($row = mysql_fetch_array($sql))
    {
    if($test == 7)
    echo '<tr><tr>';
    echo '<td width="140" height="120" align="center" valign="middle"><a style="text-decoration:none " href="details.php?id=' .$row['id'] . '">';
    echo '<img border="0"  src="posters/' . $row['poster'] . '" width="75" height="106" hspace="8" vspace="8" alt="' .$row['title']. '"></td>';
    $test++;
}
07. december 2009 - 17:18 #1
Der er ikke noget i koden der soerger for at der bliver lavet 2 raekker.  Der maa vaere mellem 8 og 14 billeder i databasen, og for hver 7ende billede bliver der lavet en ny raekke.  Hvis du vil have flere raekker med 7 billeder hver placerer du flere billeder i databasen.  Hvis du vil have de 14 billeder fordelt over 3 raekker forandrer du "if($test == 7)" til, for eksempel, "if($test == 5)"
Avatar billede blackunicorn Nybegynder
07. december 2009 - 17:27 #2
Der er over 500 billeder i databasen.

Hvis jeg ændrer "if($test == 7)" til "if($test == 5)" viser den 5 billeder i første række og 9 i anden række.
Avatar billede norsgaard Nybegynder
07. december 2009 - 17:36 #3
Gætter på at din $sql har en LIMIT 14 i den, og at den derfor kun returner 14 entries. I din while løkke har du så en if($test == 7), der laver en ny linie.

Hvis du vil have en ny række en gang i mellem kan du evt. lave en
  if($test%7 == 0) i stedet og ændre 7 til hvor mange billeder du vil have.

Er ikke testet selvfølgelig da det gætter lidt på hvordan din kode ser ud før, det du har vedhæftet.
07. december 2009 - 19:46 #4
Ja jeg var lidt for hurtig, jeg stod og skulle afsted.  Jeg antog, forkert, at koden indeholdt saadan noget som

if($test==7)
{
  echo '<tr><tr>';
  $test = 0;
}

Saa to spoergsmaal:  (1) Hvad er det du vil opnaa (hvad mener du med "lave 3 eller flere raekker i stedet for 2?"  Vil du, ud af dine mere end 500 billeder, have 14 vist men saa du kan vaelge om de vises i 2, 3, eller flere (op til 14) raekker?  Eller vil du have raekker med 7 billeder men mere end de foerste 2 x 7?

(2) (som ogsaa norsgaard skriver) hvordan ser resten af koden ud, isaer det mysql query der laver $sql.
Avatar billede blackunicorn Nybegynder
07. december 2009 - 20:20 #5
Den fulde kode ser sådan her ud..

Den viser lige nu 14 billeder fordelt på 2 rækker.
Det jeg ønsker er eks. 4 rækker med 5 billeder pr. række.

[code]
<?php
            require_once("includes/secrets.php");

            $sql = mysql_query("SELECT * FROM `kids` ORDER BY id DESC LIMIT 14 ");
?>   
    <head>

    </head>

    <body>
    <div align="center" valign="top">
    <table border="0" width="500" id="table1" cellpadding="0" style="border-collapse: collapse">
    <tr><td height="100px" align="center"><font face="Verdana" size="3" color="#000000">Nyheder</font></td></tr>
   
    <tr></tr><tr>
<?   
    $test = 0;
    while($row = mysql_fetch_array($sql))
    {
    if($test == 5)
    echo '<tr><tr>';
    echo '<td width="140" height="120" align="center" valign="middle"><a style="text-decoration:none " href="details.php?id=' .$row['id'] . '">';
    echo '<img border="0"  src="posters/' . $row['poster'] . '" width="75" height="106" hspace="8" vspace="8" alt="' .$row['title']. '"></td>';
    $test++;
}

?>   
    </tr></tr></tr>
    </table>
    </div>

    </body>

    </html>
[/code]
Avatar billede blackunicorn Nybegynder
07. december 2009 - 20:21 #6
Der gik vist noget galt med den BB-code - Jeg prøver igen..

<?php
            require_once("includes/secrets.php");
            //require_once("includes/config.php");
            //checkLoggedIn("yes");
           
           
            //$id = (int)$_GET["id"];
            $sql = mysql_query("SELECT * FROM `kids` ORDER BY id ASC LIMIT 14 ");
?>   
    <head>

    </head>

    <body>
    <div align="center" valign="top">
    <table border="0" width="500" id="table1" cellpadding="0" style="border-collapse: collapse">
    <tr><td height="100px" align="center"><font face="Verdana" size="3" color="#000000">Nyheder</font></td></tr>
   
    <tr></tr><tr>
<?   
    $test = 0;
    while($row = mysql_fetch_array($sql))
    {
    if($test == 5)
    echo '<tr><tr>';
    echo '<td width="140" height="120" align="center" valign="middle"><a style="text-decoration:none " href="details.php?id=' .$row['id'] . '">';
    echo '<img border="0"  src="posters/' . $row['poster'] . '" width="75" height="106" hspace="8" vspace="8" alt="' .$row['title']. '"></td>';
    $test++;
}

?>   
    </tr></tr></tr>
    </table>
    </div>

    </body>

    </html>
Avatar billede norsgaard Nybegynder
07. december 2009 - 20:27 #7
Prøv med :

<?php
            require_once("includes/secrets.php");
            //require_once("includes/config.php");
            //checkLoggedIn("yes");
         
         
            //$id = (int)$_GET["id"];
            $antalBilleder = 20;
            $sql = mysql_query("SELECT * FROM `kids` ORDER BY id ASC LIMIT $antalBilleder");
?> 
    <head>

    </head>

    <body>
    <div align="center" valign="top">
    <table border="0" width="500" id="table1" cellpadding="0" style="border-collapse: collapse">
    <tr><td height="100px" align="center"><font face="Verdana" size="3" color="#000000">Nyheder</font></td></tr>
 
    <tr></tr><tr>
<? 
    $test = 0;
    while($row = mysql_fetch_array($sql))
    {
    if(($test % 5) == 0)echo '</tr><tr>';

    echo '<td width="140" height="120" align="center" valign="middle"><a style="text-decoration:none " href="details.php?id=' .$row['id'] . '">';
    echo '<img border="0"  src="posters/' . $row['poster'] . '" width="75" height="106" hspace="8" vspace="8" alt="' .$row['title']. '"></td>';
    $test++;
}

?> 
    </tr></tr></tr>
    </table>
    </div>

    </body>

    </html>
Avatar billede blackunicorn Nybegynder
07. december 2009 - 20:37 #8
Tak for hjællpen norsgaard!

Det virker præcis som jeg ønskede.

Smid et svar så du kan få dine point :)
Avatar billede norsgaard Nybegynder
07. december 2009 - 20:45 #9
Tak for point :)
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