Gå til innhold

Galleri viser ikke bilder eller kommentarer


Anbefalte innlegg

Jeg driver for tiden med å utvikle et galleri for en venn.

 

Galleriet er i VG/CNN-stil, dvs. at man velger album, og får bildene vist etter hverandre ved å klikke på neste, i stedet for å få en oversikt over dem.

 

Men problemet mitt er at galleriet bare viser bilde nr. 1, og kommentar nr. 1.

På de andre bildene får jeg bare se Første, forrige og neste-knappene.

 

Jeg legger under her ut koden, men da har jeg fjernet innloggingsinfoen til databasen.

 

<script language="JavaScript" type="text/JavaScript" src="knapp.js">
</script>
<?
//logger på database
//Velger database
//Sender setningen mot database som skal hente ut infoen
$setning = @mysql_query("SELECT * FROM bilder WHERE spesid='$_GET[id]' ORDER BY id DESC LIMIT 1");
//Bruker en loop for aa faa all informasjonen ut
while($totaltbilder = @mysql_fetch_array($setning))
{
//Naa er informasjonen lagret i arrays
$totalt = $totaltbilder[id];
}

if(isset($_GET["bilde"])) {
//logger på database
//Velger database
//Sender setningen mot database som skal hente ut infoen
$setning = @mysql_query("SELECT * FROM bilder WHERE spesid='$_GET[id]' & id='$_GET[bilde]' LIMIT 1");
//Bruker en loop for aa faa all informasjonen ut
while($sql = @mysql_fetch_array($setning))
{
//Naa er informasjonen lagret i arrays
print("<img src=\"spesialer/$_GET[id]/$_GET[bilde].jpg\"><br>$sql[kommentar]<br>");
}
}
else{
//logger på database
//Velger database
//Sender setningen mot database som skal hente ut infoen
$setning = @mysql_query("SELECT * FROM bilder WHERE spesid='$_GET[id]' & id='1' LIMIT 1");
//Bruker en loop for aa faa all informasjonen ut
while($sql = @mysql_fetch_array($setning))
{
//Naa er informasjonen lagret i arrays
print("<img src=\"spesialer/$_GET[id]/1.jpg\"><br>$sql[kommentar]<br>");
}
}
if($_GET["bilde"] == $totalt){
$forrige = $_GET["bilde"]-1;
print("<a href=\"show.php?id=$_GET[id]&bilde=1\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forste','','knapper/forste_over.gif',1)\"><img src=\"knapper/forste.gif\" alt=\"Første bilde\" name=\"forste\" width=\"24\" height=\"24\" border=\"0\"></a>");
print("<a href=\"show.php?id=$_GET[id]&bilde=$forrige\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forrige','','knapper/forrige_over.gif',1)\"><img src=\"knapper/forrige.gif\" alt=\"Forrige bilde\" name=\"forrige\" width=\"24\" height=\"24\" border=\"0\"></a>");
}
elseif($_GET["bilde"] == 1) {
print("<a href=\"show.php?id=$_GET[id]&bilde=1\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forste','','knapper/forste_over.gif',1)\"><img src=\"knapper/forste.gif\" alt=\"Første bilde\" name=\"forste\" width=\"24\" height=\"24\" border=\"0\"></a>");
print("<a href=\"show.php?id=$_GET[id]&bilde=2\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('neste','','knapper/neste_over.gif',1)\"><img src=\"knapper/neste.gif\" alt=\"Neste bilde\" name=\"neste\" width=\"24\" height=\"24\" border=\"0\"></a>");
}
elseif(isset($_GET["bilde"])) {
$neste = $_GET["bilde"]+1;
$forrige = $_GET["bilde"]-1;
print("<a href=\"show.php?id=$_GET[id]&bilde=1\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forste','','knapper/forste_over.gif',1)\"><img src=\"knapper/forste.gif\" alt=\"Første bilde\" name=\"forste\" width=\"24\" height=\"24\" border=\"0\"></a>");
print("<a href=\"show.php?id=$_GET[id]&bilde=$forrige\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forrige','','knapper/forrige_over.gif',1)\"><img src=\"knapper/forrige.gif\" alt=\"Forrige bilde\" name=\"forrige\" width=\"24\" height=\"24\" border=\"0\"></a>");
print("<a href=\"show.php?id=$_GET[id]&bilde=$neste\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('neste','','knapper/neste_over.gif',1)\"><img src=\"knapper/neste.gif\" alt=\"Neste bilde\" name=\"neste\" width=\"24\" height=\"24\" border=\"0\"></a>");
}
else{
print("<a href=\"show.php?id=$_GET[id]&bilde=1\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('forste','','knapper/forste_over.gif',1)\"><img src=\"knapper/forste.gif\" alt=\"Første bilde\" name=\"forste\" width=\"24\" height=\"24\" border=\"0\"></a>");
print("<a href=\"show.php?id=$_GET[id]&bilde=2\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('neste','','knapper/neste_over.gif',1)\"><img src=\"knapper/neste.gif\" alt=\"Neste bilde\" name=\"neste\" width=\"24\" height=\"24\" border=\"0\"></a>");
}
?>

Lenke til kommentar
Videoannonse
Annonse

Tar jeg ikke feil så funker det ikke å ha $_GET[], $_POST[] osv inni en print("tekst$_GET[]tekst");

må nok skrives sånn her isteden.

print("tekst".$_GET[]."tekst");

 

Er det jeg ser når skumleser igjennom ihvertfall

 

edit: når jeg skrive script til andre og da må ha med mange feilmeldinger hvis noe feil skulle oppstå, brukes det effektivt www.php.net/mysql_num_rows for å sjekke om det var noen rader i databasen som ble hentet ut, og www.php.net/mysql_affected_rows for å sjekke om noe ble skrevet til databasen, kjekt å ha med :)

Endret av LoS
Lenke til kommentar

Hvordan ser databasen ut ? Har du bilder som har id 1, 2, 3, 4 ?

 

prøv heller denne :

 

$setning = @mysql_query("SELECT * FROM bilder WHERE spesid='".$_GET[id]."' LIMIT ".$_GET["bilde"].",1");

 

Denne setningen velger det bildet som er spesifisert i $_GET["bilde"] fra listen hvor spesid = id.

DVS si at dersom bilde=2, velger den det andre bildet i albumet id. Dersom bilde=3, velger den det 3. bildet i albumet id... osv...

 

 

EDIT: TIPS: Legg $_GET["bilde"] og $_GET["id"] til en variabel dersom den er satt... Mye mindre å skrive, slipper å skrive $_GET["bilde"] for hver gang:

Kan f.eks legge til dette i toppen av scriptet:

if(isset($_GET["bilde"])) $bilde = $_GET["bilde"];

if(isset($_GET["id"])) $id = $_GET["id"];

Deretter bruker du kun $bilde og $id for å få de verdiene som er angitt i adresselinjen :thumbup:

/kakkle

Endret av kakkle
Lenke til kommentar
Tar jeg ikke feil så funker det ikke å ha $_GET[], $_POST[] osv inni en print("tekst$_GET[]tekst");

må nok skrives sånn her isteden.

print("tekst".$_GET[]."tekst");

Du tar feil. Ifølge PHP-manualen funker det fint å ha en tekststreng som dette:

$var = "tekst $_GET[id] tekst";

 

Merk at du ikke kan ha fnutter rundt 'id' i arrayen, da vil en parse-error oppstå. Eks. $var = "tekst $_GET['id'] tekst"; :)

Endret av lokaltog
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...