Sonymann Skrevet 8. august 2004 Del Skrevet 8. august 2004 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
Sonymann Skrevet 9. august 2004 Forfatter Del Skrevet 9. august 2004 Ingen som har noe godt svar? Lenke til kommentar
LoS Skrevet 9. august 2004 Del Skrevet 9. august 2004 (endret) 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 9. august 2004 av LoS Lenke til kommentar
Sonymann Skrevet 9. august 2004 Forfatter Del Skrevet 9. august 2004 Jeg har endret den øverste delen til mysql_num_rows. Takk for tipset! Problemet kan dere se her: link Bildene er bare demobilder, Windows XP Sample Pictures. Lenke til kommentar
kakkle Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) 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 /kakkle Endret 10. august 2004 av kakkle Lenke til kommentar
Lokaltog Skrevet 10. august 2004 Del Skrevet 10. august 2004 (endret) 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 10. august 2004 av lokaltog Lenke til kommentar
LoS Skrevet 10. august 2004 Del Skrevet 10. august 2004 Merk at du ikke kan ha fnutter rundt 'id' i arrayen, da vil en parse-error oppstå. Eks. $var = "tekst $_GET['id'] tekst"; Aha, liker fnutter jeg Men da veit jeg jo det Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå