Avatar billede simon-14 Nybegynder
21. april 2004 - 21:36 Der er 11 kommentarer og
2 løsninger

Limit 1 på billede get

Hej eksperter.. er der nogen der kan hjælpe mig..

Jeg har et script her der henter billeder på, men er der nogen der kan sætte et limit på 1 på og lave en Næste og forrige link i bunden?.  plz  her er scriptet:

<?php

echo '<center>';
$handle = opendir('files');
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
        echo '<a href="files/'.$file.'" target="_blank" ><img src="files/'.$file.'" width="122" height="122" border="0" bordercolor="#000000"></a><br>
';
    }
}
closedir($handle);
echo ''; ?>
Avatar billede dennismp Nybegynder
21. april 2004 - 21:48 #1
prøv:
<?php
echo '<center>';
$handle = opendir('files');
$files = array();
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
      $files[] = $file;
    }
}
closedir($handle);

if( isset($_GET['num']) ) {
  $num = inval($_GET['num']);
}
else {
  $num = 0;
}

$file = $files[$num];
echo '<a href="files/'.$file" target="_blank" ><img src="files/'.$file.'" width="122" height="122" border="0" bordercolor="#000000"></a><br>
';

if( $num > 0 )
  print '<a href="index.php?num='.($num-1).'">Forrige</a>';

if( ($num-1) < count($files) )
  print '<a href="index.php?num='.($num+1).'">Næste</a>';

?>
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:04 #2
Fatal error: Call to undefined function: inval() on line 98


Der er noget galt :P
Avatar billede dennismp Nybegynder
21. april 2004 - 22:07 #3
hehe.. prøv med intval :-)

altså erstat
$num = inval($_GET['num']);
med
$num = intval($_GET['num']);
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:09 #4
ok, men hvordan gør jeg så at det nyeste billede , kommer først på siden Ligesom ORDER By id desc
Avatar billede dennismp Nybegynder
21. april 2004 - 22:13 #5
Een ting ad gange. Virker det nu? Hvis det gør, så kan vi lige set på det andet
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:13 #6
det virker her har jeg mit script. kan du sætte ind så det bliver nyeste først. og kan du gøre sådan så istedet for at alle billeder er Width="550"  så at max width er lig med 550  er det CSS?

<?php
echo '<center>';
$handle = opendir('files');
$files = array();
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
      $files[] = $file;
    }
}
closedir($handle);

if( isset($_GET['num']) ) {
  $num = intval($_GET['num']);
}
else {
  $num = 0;
}

$file = $files[$num];
echo '<img src="files/'.$file.'" width="550"  border="1"><br>
';

if( $num > 0 )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num-1).'"> <-Forrige</a><br>
';

if( ($num+1) < count($files) )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num+1).'">Næste-> </a>';

?>
Avatar billede dennismp Nybegynder
21. april 2004 - 22:21 #7
Jeg ved ikke om man gøre det med css. Den rigtig måde ville jo være at sørge for at billeder ikke er større end 550.

<?php
echo '<center>';
$handle = opendir('files');
$files = array();
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
      $files[] = array('name' => $file, 'timestamp' => filectime($file));
    }
}
closedir($handle);

// Sortér
function cmp($a, $b)
{
  if ($a['timestamp'] == $b['timestamp']) {
      return 0;
  }
  return ($a['timestamp'] < $b['timestamp']) ? -1 : 1;
}

usort($files,'cmp');

if( isset($_GET['num']) ) {
  $num = intval($_GET['num']);
}
else {
  $num = 0;
}

$file = $files[$num]['name'];
echo '<img src="files/'.$file.'" width="550"  border="1"><br>
';

if( $num > 0 )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num-1).'"> <-Forrige</a><br>
';

if( ($num+1) < count($files) )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num+1).'">Næste-> </a>';

?>
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:26 #8
nu skriver den:


Warning: stat failed for bluescreen.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92

Warning: stat failed for batdog.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92

Warning: stat failed for heavyliftingisbadforyou.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92

Warning: stat failed for chill.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92

Warning: stat failed for Shark.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92

Warning: stat failed for chipper.jpg (errno=2 - No such file or directory) in /customers/nadafear.dk/nadafear.dk/httpd.www/sjovbillede.php on line 92
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:28 #9
alt virker den skriver bare det der
Avatar billede dennismp Nybegynder
21. april 2004 - 22:29 #10
prøv med denne.
<?php
echo '<center>';
$handle = opendir('files');
$files = array();
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
      $files[] = array('name' => $file, 'timestamp' => filectime('files/'.$file));
    }
}
closedir($handle);

// Sortér
function cmp($a, $b)
{
  if ($a['timestamp'] == $b['timestamp']) {
      return 0;
  }
  return ($a['timestamp'] < $b['timestamp']) ? -1 : 1;
}

usort($files,'cmp');

if( isset($_GET['num']) ) {
  $num = intval($_GET['num']);
}
else {
  $num = 0;
}

$file = $files[$num]['name'];
echo '<img src="files/'.$file.'" width="550"  border="1"><br>
';

if( $num > 0 )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num-1).'"> <-Forrige</a><br>
';

if( ($num+1) < count($files) )
  print '<a href="http://nadafear.dk/?p=sjovbillede&num='.($num+1).'">Næste-> </a>';

?>
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:35 #11
Men så er det jo ik dne nyeste først mere..
Avatar billede dennismp Nybegynder
21. april 2004 - 22:40 #12
find:
return ($a['timestamp'] < $b['timestamp']) ? -1 : 1;
erstat med
return ($a['timestamp'] > $b['timestamp']) ? -1 : 1;
Avatar billede simon-14 Nybegynder
21. april 2004 - 22:46 #13
thnx mate. så skal jeg bare finde ud af det med max 550.. :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester