kimmen12 Skrevet 21. mai 2008 Skrevet 21. mai 2008 (endret) 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 21. mai 2008 av kimmen12
siDDis Skrevet 21. mai 2008 Skrevet 21. mai 2008 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;
kimmen12 Skrevet 22. mai 2008 Forfatter Skrevet 22. mai 2008 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.
siDDis Skrevet 22. mai 2008 Skrevet 22. mai 2008 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;
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å