Gå til innhold

Vise innhold basert på side ID


Anbefalte innlegg

Hei igjen, kjære hjelpere!

 

Mine evner, som dere sikkert forstår, er meget begrenset innenfor PHP. Jeg holder på å lage en bilde side, hvor det skal være mulig å se bildene utifra side ID'en. Hvert eneste bilde har sin egen ID, og hopper en del. Jeg skal f. eks lage en kategori som viser iPhone bilder, som da er side ID 1, så har vi Fails som skal være side ID 2. Dette er da det jeg har så langt. Koden nedenfor er laget for å vise iPhone bildene.

 

       if (isset($_GET['id'])) {
           $id = intval($_GET['id']);
           $result = mysql_query("SELECT * FROM people WHERE side_id='1' AND id=$id LIMIT 1") or die ("Kunne ikke koble til databasen. " . mysql_error());

           if(mysql_num_rows($result)==0) {
	echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">';    
	exit;
           } else {
               while ($row = mysql_fetch_assoc($result)) {
                   echo "<div class=\"picture\">";
                   echo "<p>";

                   // Link
	    $id = $_GET["id"];
	    echo "<a href='".($id+1)."'>";
                   echo "<img src=\"../uploads/" . $row['filename'] . "\" alt=\"\" />";
	    echo "</a>";
                   echo "</p>";
                   echo "</div>";
               }
           }
       }

Lenke til kommentar
Videoannonse
Annonse

Heisann,

 

1) SQL Injections: Selv om du sikrer deg med intval() så ville jeg alikevel escapet alle variabler som går i en databasespørring. Du sikrer deg via mysql_real_escape_string()

2) Måten du angir ID-er på i lista virker feil. Regner med du skulle hatt $row['id'] fremfor $_GET['id']?

3) Det er feil å kjøre <meta>-tagen ut i <body>. Den skal i <head>.

 

Stå på!

Lenke til kommentar

Takk for raskt svar, men det var i hovedsak ikke dette jeg var ute etter. Jeg får ikke det jeg har av kode som jeg postet tidligere til å funke riktig. Den viser ikke bildet jeg ønsker når jeg f. eks går til index.php?id=1, index.php?id=2 osv.

Lenke til kommentar

Du har ikke skrevet hva du er ute etter, så ble gjetting fra min side.

 

Du må sjekke kildekoden som blir generert av PHP. Det at den ikke viser bildet riktig trenger ikke å ha med syntax/logikk i PHP-snutten over å gjøre.

 

Post den HTML-en som blir generert.

Lenke til kommentar

Jeg er ute etter og kun vise bilder som har side_id 1. Jeg har en ca. 30 bilder så langt, men fler skal det bli. Jeg ønsker å kun vise bildene som har 1 som side_id og det er det jeg har prøvd på med koden du kan se over.

 

Det er ikke noe HTML kode å vise, fordi det blir helt tomt når bildet ikke laster.

Lenke til kommentar

Så PHP-koden du har over genererer ingen form for kildekode?

 

Sleng inn dette på toppen av siden din:

<?php
ini_set('display_errors','1');
ini_set('display_startup_errors','1');
error_reporting (E_ALL);

*all koden din*
?>

 

Dette vil vise om du f.eks har syntaxfeil noe sted.

 

Har du forresten kjørt MySQL-spørringen i f.eks phpMyAdmin eller tilsvarende for å se om du får returnert noen rader?

Endret av µp1is
Lenke til kommentar

Okei, så jeg har fått den til å vise bilder som har side ID 1 nå, men jeg har en link når man trykker på bildet som gjør at man kommer til neste bilde ID når man trykker på den. Mitt spørsmål er da: hvordan kan jeg gjøre så PHP finner den neste ID'en av seg selv? Jeg må nesten gjøre det på denne måten siden det er store hopp i ID'ene - f. eks så har bilde 4 og 9 side ID 1 og jeg ønsker da å ha en link som gjør at når man er på bilde 4 og trykker på bildet så går den til 9, og ikke 5.

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...