Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 2097
Hei,

driver og lager et galleri i php, og ønsker å legge inn pagination i systemet. Fant en helt grei tutorial på dette, men da den gikk ut ifra andre data i databasen, ble jeg ganske forvirret.

Koden jeg bruker nå for å vise bilder er:

Kode

$sql = "SELECT bildenavn FROM testergallery
	ORDER BY ID DESC";
	
$result = mysql_query($sql);
$antall = mysql_num_rows($result);
for ($i = 0; $i<$antall; $i++) {
	$rad = mysql_fetch_array($result);
	$picid = $rad['id']; 
	$bilde = "";
	if($rad['bildenavn']) {
		$bilde = "<img src=gallery_images/" . $rad['bildenavn'] . " height='200' width='200'>"; echo "&nbsp;";
	}
	echo $bilde;
}
(er noen småfeil der, men de trenger dere ikke bry dere så mye om)
Tutorialen jeg bruker er http://www.tutorialized.com/view/tut...-with-PHP/6925 og det jeg i hovedsak plages med, er hva $cat gjør, og hva jeg bør bytte med. I databasen har jeg en id (auto_increment) og bildenavn (navnet på bildet), så enten trenger jeg ikke $cat i det hele tatt, eller så må jeg bytte den ut. Får ikke dette til å stemme unasett hvordan jeg gjør det, og resultatet på galleri-siden blir "No matches met your criteria." som kommer fra tutorialens

Kode

$q = mysql_query("SELECT bildenavn FROM testergallery WHERE bildenavn = '".addslashes($_GET['bildenavn'])."' LIMIT $set_limit, $limit");
  if(!$q) die(mysql_error());
     $err = mysql_num_rows($q);
       if($err == 0) die("No matches met your criteria.");
. Her ser dere at jeg har prøvd å bytte ut cat med "bildenavn", men uten hell. Noen som vet hva jeg gjør galt/har et tips om hvordan jeg kan gjøre dette enklere?
Jeg har etter beste evne forsøkt å kommentere koden så den blir så forståelig som mulig. Denne koden passer også til din tabellstruktur.

http://tinyurl.com/dff8bs
Trådstarter
ahh, tusen takk skal se litt på dette, og så prøve å integrere det i gjesteboka mi i tillegg for å se om jeg får det til

ma10as, dette hjalp veldig Nå fikk jeg mye bedre forståelse av det, men det var et par ting jeg ikke helt skjønte -

Kode

$imageTemplate = '<img src="%1$s" alt="%1$s" height="200" width="200" />';
Hvorfor har du %1$s der?

Edit: Kan noen forresten se om de skjønner hva som er galt her?

Kode

if(isset($_GET['delete'])) {
	$q = "DELETE * FROM `testergallery` WHERE `id` = '".addslashes($picid)."'";
	$run = mysql_query($q);
	echo "Image deleted.";
	die();
}
Får opp linken til sidenmin?delete&id=riktig-id-til-bildet, men det skjer ikke så mye når jeg trykker på den:/
Sist endret av cromoglic; 21. mars 2009 kl. 02:24. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Sitat av cromoglic Vis innlegg
det var et par ting jeg ikke helt skjønte -

Kode

$imageTemplate = '<img src="%1$s" alt="%1$s" height="200" width="200" />';
Hvorfor har du %1$s der?
Vis hele sitatet...
Du kan lese litt om sprintf i manualen. I loopen ser du at jeg har lagt inn en kommentar med en alternativ løsning. Du kan godt fjerne linjen du postet over om du heller vil bruke den metoden.

Sitat av cromoglic Vis innlegg
Edit: Kan noen forresten se om de skjønner hva som er galt her?

Kode

if(isset($_GET['delete'])) {
	$q = "DELETE * FROM `testergallery` WHERE `id` = '".addslashes($picid)."'";
	$run = mysql_query($q);
	echo "Image deleted.";
	die();
}
Får opp linken til sidenmin?delete&id=riktig-id-til-bildet, men det skjer ikke så mye når jeg trykker på den:/
Vis hele sitatet...
Prøv å ta bort * fra sql-spørringen. Feltnavn er ikke inngått i DELETE-syntaksen. Ellers skal man egentlig ikke ha quotes rundt tall. Prøv derfor

Kode

$q = "DELETE FROM `testergallery` WHERE `id` = ".mysql_real_escape_string($picid);
Sørg også for at $picid er satt til en gyldig ID
Trådstarter
Ahh! Tusen takk! vel, det fungerer på sett og vis nå.. Jeg får opp alle bildene med en slett-link, og når jeg trykker på en og så oppdaterer siden så slettes det. Det er noen små bugs der da, f.eks. at det ser ut til at noen IDer er feile. I allefall får jeg "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1" når jeg prøver å slette de 7 siste bildene - de 8-10 første gikk glatt...^^

edit: ahh, nei! de bare hang seg opp:P når jeg refresha et par ganger, så funka det
Sist endret av cromoglic; 21. mars 2009 kl. 13:40. Grunn: Automatisk sammenslåing med etterfølgende innlegg.