Gå til innhold

Rekkefølge på opplastete bilder


Anbefalte innlegg

Hei..

 

Jeg har en opplastnings form på siden. Det jeg ønsker er å få disse i en rekkefølge. Ønsker også å kunne endre denne rekkefølgen senere i tid.

 

Scriptet jeg har laget ligger under, men hvordan skal jeg få lagret rekkefølgen i databasen og hvordan skal jeg kunne endre det manuelt senere?

 

Takk for alle svar:)

 

edit: det er snakk om bilder som blir lastet opp

 

 

 

<?php
if ($action == "step1-2" && $chk) { // upload
if($greit && $chk) {
$query = "INSERT INTO `prosjekt` (id) VALUES ('NULL')";
mysql_query($query) or die(mysql_error());	
	}
		// Setter mysql id.
if(!$dir){ $dir = mysql_insert_id(); }

	if ($_FILES['file']['error'][$i]) { print $_FILES['file']['error'][$i]; }
	for($i = 0; $i < count($_FILES['file']["tmp_name"]); $i++) { 
if ($_FILES['file']['name'][$i]) { 
$date = date('d-m-y');
$temp = $_FILES['file']['tmp_name'][$i];
$show = $_FILES['file']['name'][$i]; 
//  if (isset($_GET['rekke'])) { $_GET['rekke'] = "0"; }
//  $_GET['rekke'] = $_GET['rekke'] + 1;
//  $rekke = $_GET['rekke'];
//  print $_GET['rekke'];
// Setter navn på opplastet bilde
if($first) {
	rename("$temp", "prosjekt/$dir-first-$show"); 
	chmod("prosjekt/$dir-first-$show", 0755);	 
} else { rename("$temp", "prosjekt/$dir-$show"); 
chmod("prosjekt/$dir-$show-$rekke", 0755); }

// Endrer bilde til 640x480
$outWidth=640; $outHeight=480;
if($first) { $imgSrc=imagecreatefromjpeg("prosjekt/$dir-first-$show"); 
} else { $imgSrc=imagecreatefromjpeg("prosjekt/$dir-$show "); }
$srcWidth=imagesx($imgSrc);
$srcHeight=imagesy($imgSrc);

//Make thumbnails
$imgOut=imagecreatetruecolor($outWidth,$outHeight);
imagerectangle($imgOut,0,0,$outWidth,$outHeight,imagecolorallocate($imgOut,0,0,0));

//Copy them proportionatly
$dx=0; $dy=0; $dw=$outWidth; $dh=$outHeight;
if ($outWidth*$srcHeight!=$outHeight*$srcWidth) { 

//Which dimensions is larger
if ($srcWidth>$srcHeight) { //Empty space on top and bottom
 $dw=$outWidth;
 $dh=($dw*$srcHeight)/$srcWidth;
 $dy=($outHeight-$dh)/2;
}
else { 
 $dh=$outHeight;
 $dw=($dh*$srcWidth)/$srcHeight;
 $dx=($outWidth-$dw)/2;
}
}
imagecopyresampled($imgOut,$imgSrc,$dx,$dy,0,0,$dw,$dh,$srcWidth,$srcHeight); //imagecopyresized ferdig
if($first) { unlink("prosjekt/$dir-first-$show"); imagepng($imgOut,"prosjekt/$dir-first-$show");
} else { unlink("prosjekt/$dir-$show "); imagepng($imgOut,"prosjekt/$dir-$show "); }
//echo "Bilde ferdig laget: $outWidth x $outHeight, ".round(filesize("prosjekt/$dir-$show")/1024)." KB<br>";
imagedestroy($imgSrc);
imagedestroy($imgOut);
} }?>

Endret av kimmen12
Lenke til kommentar
Videoannonse
Annonse

Nå sliter eg med å lese PHP men i SQL så må du lage en dato når et felt var opprettet.

 

Så henter du med å bruke en

ORDER BY DATE_CREATED DESC

 

 

Ergo når du later opp et bilde så blir det som dette:

CREATE TABLE PICTURES (ID INTEGER AUTOINCREMENT, NAME VARCHAR(XXX), DATE_CREATED DATE);

For å sette bildet inn

INSERT INTO PICTURES (NAME, DATE_CREATED) VALUES('nissefamilien.png', DATE.NOW());

 

Og for å hente det ut i rekkefølge:

SELECT * FROM PICTURES ORDER BY DATE_CREATED DESC;

Lenke til kommentar

Takk for det.

 

Glemte kanskje å si det, men det skal kunne legges til flere bilder innenfor hvert emne (id).

 

Altså at man kan legge til "nyheter"(feks) og så for hver "nyhet" skal det kunne legges til bilder.

 

Hvordan skal jeg gjøre dette med tanke på at bildene får forskjellige id'er og kun de med riktig id skal kunne printes ut.

Lenke til kommentar

Då oppretter du ein ekstra type tabell og joiner den med bilete tabellen.

 

CREATE TABLE PICTURE_CATEGORY (ID INTEGER AUTOINCREMENT, CATEGORY_NAME VARCHAR(XXX));

 

Så må du endre på pictures tabellen:

ALTER TABLE PICTURES
ADD PICTURE_CATEGORY INTEGER;

 

Så legger du inn kategoriene

INSERT INTO PICTURE_CATEGORY (CATEGORY_NAME) VALUES('nyhet');
INSERT INTO PICTURE_CATEGORY (CATEGORY_NAME) VALUES('artikkel');

 

Då vil 'Nyhet' id være lik 1 og 'artikkel id være lik 2

 

Så for å bare hente ut nyheter i ein sortert rekkefølge:

 

SELECT * FROM PICTURES P
INNER JOIN PICTURE_CATEGORY PC ON P.PICTURE_CATEGORY = PC.ID
WHERE PC.CATEGORY_NAME = 'nyhet';
ORDER BY P.CREATED_DATE DESC;

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å
×
×
  • Opprett ny...