Gå til innhold

Vise innhold basert på side ID


Anbefalte innlegg

Skrevet

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>";
               }
           }
       }

Videoannonse
Annonse
Skrevet

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å!

Skrevet

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.

Skrevet

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.

Skrevet

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.

Skrevet (endret)

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
Skrevet

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.

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