Avatar billede minus Nybegynder
29. maj 2008 - 10:19 Der er 4 kommentarer og
1 løsning

Indsæt break efter hver 4. div

Hej,

Ønsker en simpel metode, hvor koden, jeg skriver nedenunder, fremkommer 4 gange, så indsættes der en break bagefter.

Altså det opstilles som en slags galleri. Hvis vi siger, jeg har 12 billeder så opstilles de som:

[x] [x] [x] [x]
[x] [x] [x] [x]
[x] [x] [x] [x]

Men lige nu opstilles de som:

[x]
[x]
[x]
[x]
(...osv)

-----

Koden:

<?php

function build_form($path_to_mappe)
{
  if ($dir = @opendir($path_to_mappe)) {
    echo "<form name='slette_form' method='post' action=''>\n";
    echo "<input name='action' value='slet' type='hidden'>\n";
    $cnt = 0;
    while ($file = readdir($dir)) {
      if (is_dir($path_to_mappe . $file)) continue;
      if ($file == '.' || $file == '..') continue;
         
      // Her bygges form-feltet

    $cnt++;
      echo "<div style=\"background-color: gray;height:175px;width:140px;font-size:8pt;font-family: verdana, tahoma, sans-serif;\">";
      echo "<input id='field_" . $cnt . "' name='files[]' value='" . $path_to_mappe . $file . "' type='checkbox'><br /><label for='field_" . $cnt . "'><img src=\"/galleri/thumbs/thumb_". $file . "\" alt=\"\" /><br /> ". $file . "</label>\n";
      echo "</div>";
    }
    closedir($dir);
    echo "<br />\n";
    echo "<input name='btn' value='Slet markerede' type='submit'>\n";
    echo "</form>\n";
  }
}

if ($_POST['action'] == "slet") {
  if (is_array($_POST['files'])) {
    foreach($_POST['files'] AS $var) {
      echo "<b>Følgende filer blev slettet</b> <br /> " . $var . "<br />\n";  // Kun for test
      @unlink($var);
      $thumb = explode("/",$var);
      $thumb = $thumb[count($thumb)-1];
      $thumb = "galleri/thumbs/thumb_" . $thumb;
      echo $thumb . "<br />\n";  // Kun for test
      @unlink($thumb);
    }
  }
} else {
  build_form("galleri/");  // SKAL slutte med "/"
}

?>

--------

Takker på forhånd :)
Avatar billede jakobdo Ekspert
29. maj 2008 - 10:41 #1
Test lige:

<?php

function build_form($path_to_mappe)
{
  if ($dir = @opendir($path_to_mappe)) {
    echo "<form name='slette_form' method='post' action=''>\n";
    echo "<input name='action' value='slet' type='hidden'>\n";
    $cnt = 0;
    while ($file = readdir($dir)) {
      if (is_dir($path_to_mappe . $file)) continue;
      if ($file == '.' || $file == '..') continue;
       
      // Her bygges form-feltet

    $cnt++;
      echo "<div style=\"float: left; background-color: gray;height:175px;width:140px;font-size:8pt;font-family: verdana, tahoma, sans-serif;\">";
      echo "<input id='field_" . $cnt . "' name='files[]' value='" . $path_to_mappe . $file . "' type='checkbox'><br /><label for='field_" . $cnt . "'><img src=\"/galleri/thumbs/thumb_". $file . "\" alt=\"\" /><br /> ". $file . "</label>\n";
      echo "</div>";
     
      if(($cnt % 4) == 0){
          echo '<div style="clear:both;"></div>';
      }
    }
    closedir($dir);
    echo "<br />\n";
    echo "<input name='btn' value='Slet markerede' type='submit'>\n";
    echo "</form>\n";
  }
}

if ($_POST['action'] == "slet") {
  if (is_array($_POST['files'])) {
    foreach($_POST['files'] AS $var) {
      echo "<b>Følgende filer blev slettet</b> <br /> " . $var . "<br />\n";  // Kun for test
      @unlink($var);
      $thumb = explode("/",$var);
      $thumb = $thumb[count($thumb)-1];
      $thumb = "galleri/thumbs/thumb_" . $thumb;
      echo $thumb . "<br />\n";  // Kun for test
      @unlink($thumb);
    }
  }
} else {
  build_form("galleri/");  // SKAL slutte med "/"
}

?>
Avatar billede minus Nybegynder
29. maj 2008 - 10:55 #2
Testet, og det virker :)

Prøvede også med:
  if(($cnt % 4) == 0){
          echo '<div style="clear:both;"></div>';
      }

Bare på en anden måde med en count()-funktion også rundt om hele koden.

Men det virkede :) Takker.

Smider du et svar?
Avatar billede jakobdo Ekspert
29. maj 2008 - 11:03 #3
Svar!
Avatar billede minus Nybegynder
29. maj 2008 - 11:04 #4
:)
Avatar billede jakobdo Ekspert
29. maj 2008 - 11:07 #5
Takker for point.
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