Avatar billede MarkA Praktikant
07. februar 2007 - 22:11 Der er 9 kommentarer og
1 løsning

Hjælp til script

Jeg sidder og har lavet et lille fotoalbum og har et problem... Jeg kan kun få den ti at vise enten det første eller sidste billede???

Håber i kan hjælpe....


Fil------------------------------------------------------------

<?
// Indstillinger
include("conn.php"); //Forbinder til database
$tabel = "gallery"; //tabellen som billederne skal hentes fra
$offset = (isset($_GET[offset])) ? $_GET[offset] : 0;  // Hvis ikke offset er sat, sættes den til 0
$pr_side = 9;  // Antal billeder pr. side
$i = 0; //HVilket billede den skal starte med at vise
$antal = 3; //Det antal billeder som skal vises i hver række
$pic_width = "90%"; //billedernes bredde
$pic_height = "90%"; //billedernes højde


$sql = mysql_query("SELECT * FROM $tabel ORDER BY id DESC LIMIT $offset, $pr_side") or die(mysql_error());

while ($row = mysql_fetch_array($sql))
{
$file = $row[file];
$descript = $row[descript];
    if($i%$antal == 0){
       

}

$galleri =" <a href='img/$file'><img alt='fejl' src='img/$file' width='$pic_width' height='$pic_height' ></a><br>$descript";

$i++;
}
?>


<?php
$sql = "SELECT COUNT(*) FROM gallery";
$antal = mysql_result(mysql_query($sql), 0) or die(mysql_error());  // Tæller antal poster i tabellen "dinTabel"

$side = $offset/$pr_side +1;
$antal_sider = ceil(1.0 * $antal / $pr_side);

if ($offset >= $pr_side)
{
    // Tester om det er nødvendigt med et "forrige-link"
    $forrige = $offset - $pr_side;  // Finder ud af hvor forrige skal starte fra
    $forrige_res=" <a href='?offset=$forrige'>Forrige</a>";  // Udskriver link
}



if ($antal > $offset+$pr_side)
{
    // Tester om det er nødvendigt med et "næste-link"
    $naeste = $offset + $pr_side;  // Finder ud af hvor næste skal starte fra
    $naeste_res = "<a href='?offset=$naeste'>Næste</a>";  // Udskriver link
}

?>





<a href="java script:void(0);" onclick="history.back()";>Tilbage</a>


<table>
<tr valign='top' align='center'><td colspan='2' style='border:1px solid green;'>
    <td style='border:1px solid green;' height='200px' width='160px'><? print "$galleri";?></td>
</tr>
</table>
Avatar billede jakobdo Ekspert
07. februar 2007 - 22:20 #1
Du skal rette denne linie:
$galleri =" <a href='img/$file'><img alt='fejl' src='img/$file' width='$pic_width' height='$pic_height' ></a><br>$descript";
til:
$galleri .= " <a href='img/$file'><img alt='fejl' src='img/$file' width='$pic_width' height='$pic_height' ></a><br>$descript";
Avatar billede MarkA Praktikant
07. februar 2007 - 22:22 #2
så sætter den kun et billede i hver række. Den skulle gerne vise  9 billeder pr side med 3 billeder i hver række!!!
Avatar billede jakobdo Ekspert
07. februar 2007 - 22:30 #3
Så bliver du nød til at skrive koden om!
Du indlæset en masse data igen og igen i en og samme variabel, og til sidst udskriver du det sidste billede.
Måske det var nemmere du lave tabellen uden om dine while(...)
og inde i while(...) lavede du så:

echo '<tr><td>HER ER BILLEDET</td></tr>';
Avatar billede MarkA Praktikant
07. februar 2007 - 22:32 #4
Noget ala det her:

<?
// Indstillinger
include("conn.php"); //Forbinder til database
$tabel = "gallery"; //tabellen som billederne skal hentes fra
$offset = (isset($_GET[offset])) ? $_GET[offset] : 0;  // Hvis ikke offset er sat, sættes den til 0
$pr_side = 9;  // Antal billeder pr. side
$i = 0; //HVilket billede den skal starte med at vise
$antal = 3; //Det antal billeder som skal vises i hver række
$pic_width = "90%"; //billedernes bredde
$pic_height = "90%"; //billedernes højde


$sql = mysql_query("SELECT * FROM $tabel ORDER BY id DESC LIMIT $offset, $pr_side") or die(mysql_error());
echo "<table align='center'>";

while ($row = mysql_fetch_array($sql))
{
$file = $row[file];
$descript = $row[descript];
    if($i%$antal == 0){
        echo "<tr valign='top' align='center'><td colspan='2' style='border:1px solid green;'>";
    }
echo" <td style='border:1px solid green;' height='200px' width='160px'><a href='img/$file'><img alt='fejl' src='img/$file' width='$pic_width' height='$pic_height' ></a><br>$descript</td>";

$i++;
}
echo "</td></tr><tr>";

?>


<?php
$sql = "SELECT COUNT(*) FROM gallery";
$antal = mysql_result(mysql_query($sql), 0) or die(mysql_error());  // Tæller antal poster i tabellen "dinTabel"

$side = $offset/$pr_side +1;
$antal_sider = ceil(1.0 * $antal / $pr_side);

if ($offset >= $pr_side)
{
    // Tester om det er nødvendigt med et "forrige-link"
    $forrige = $offset - $pr_side;  // Finder ud af hvor forrige skal starte fra
    echo "  " . "<a href='?offset=$forrige'>Forrige</a>";  // Udskriver link
}



if ($antal > $offset+$pr_side)
{
    // Tester om det er nødvendigt med et "næste-link"
    $naeste = $offset + $pr_side;  // Finder ud af hvor næste skal starte fra
    echo "<a href='?offset=$naeste'>Næste</a></table>";  // Udskriver link
}

?>
Avatar billede jakobdo Ekspert
08. februar 2007 - 07:33 #5
F.eks. ja!
Hvordan ser output ud på det?
Avatar billede MarkA Praktikant
09. februar 2007 - 15:59 #6
Det ser egentlig ok ud. men jeg kan bare ikke få integreret "NÆSTE" og "TILBAGE" knapperne i tabellen
Avatar billede jakobdo Ekspert
09. februar 2007 - 16:50 #7
Du skal smide dem inden for <table> eller også lave der egen <table><tr><td>...</td></tr></table> omkring.
Avatar billede MarkA Praktikant
09. februar 2007 - 20:59 #8
Jeg siger mange tak for hjælpen jakobdo... Kan du ikke poste et svar så du kan få nogle point ;)
Avatar billede jakobdo Ekspert
10. februar 2007 - 10:06 #9
Det kan du tro.
Et svar!
Avatar billede jakobdo Ekspert
10. februar 2007 - 18:57 #10
Takker 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