Modulo %

BSA

Erfahrenes Mitglied
Hi Leute!

Kann mir irgendwie jemand mal den Modulo Operator erklären, oder mir nen guten Link (außer google) zu nem Manuel geben? Versteh das nicht so ganz.

Habe folgendes Script, nun will ich nach vier Ordnern eine neue Zeile Anfangen:

PHP:
while ($file = readdir($verz)) {
	if($file != "." && $file != "..")	  
		echo "<td><a href=\"index.php?site=galerie/galery&galery=$file\"><img src=\"img/folder.gif\" border=\"0\"><br><center>$file</center></a></td>";		
		}	
		echo "</tr></table>";

kann mir da jemand nen guten Tipp geben?

Würd mich freuen...
 
Modulo liefert den Rest einer ganzzahligen Division.

Sprich 5%2 ist 1. Weil, wie man in der Grundschule lernt ist 5/2 = 4 Rest 1. Diesen Rest liefert Modulo.
 
Okay, danke für deine Antwort, jedoch wusste ich das. Mir fehlt nur das Verständnis dafür wie ich das jetzt Anwende. Wenn ich nämlich Daten nebeneinander ausgeben möchte.

Aberi ch glaube ich habe geraden nen richtigen Lösungsweg gefunden. Danke, wenn ich noch fragen habe hoffe ich das mir trotzdem jemand Hilft.

*g*

ciao
 
War doch nicht so das richtige, kann mir da nochmal jemand helfen, in hinsicht auf mein script?
 
Also echt. Module brauchst du für solchen Zweck ganz bestimmt nicht. Einfach sinnlos echt.

PHP:
$c=1;
while ($file = readdir($verz)) { 
    if($file != "." && $file != "..") 
if($c=="4"){
echo "</tr><tr>";
$c=0;}      
        echo "<td><a href=\"index.php?site=galerie/galery&galery=$file\"><img src=\"img/folder.gif\" border=\"0\"><br><center>$file</center></a></td>";         
$c++;       
 }     
        echo "</tr></table>";

In diesem Sinne
 
He!

Funktioniert fast richtig....

nur leider gibt er jetzt auch die Ordner mit dem "." und dem ".." aus, das hast er vorher nicht gemacht.....

Hast du dazu ne idee?
 
Zuletzt bearbeitet:
Ja ich habe die Abfrageklammern vergessen mit hinzuschreiben ;)
PHP:
$c=1; 
while ($file = readdir($verz)) 
    { 
        if($file != "." && $file != "..")
            {
                if($c=="4")
                    { 
                        echo "</tr><tr>"; 
                        $c=0;
                    }       
                echo "<td><a href=\"index.php?site=galerie/galery&galery=$file\"><img     src=\"img/folder.gif\" border=\"0\"><br><center>$file</center></a></td>";          
                $c++;        
            }      
        echo "</tr></table>";
    }

In diesem Sinne
 
Du könntest auch folgendes verwenden:
PHP:
<?php
  $d = dir('.');
  $i = 0;
  echo '<table border="1">';
  while ($entry = $d->read()) {
    if($entry == '.' || $entry == '..') {
      continue;
    }
    if($i % 3 === 0) {
      echo '<tr>';
    }
    echo '<td align="center"><a href="index.php?site=galerie/galery&amp;galery='.$entry.'"><img src="img/folder.gif" border="0" style="display:block" alt="'.$entry.'" />'.$entry.'</a></td>';     
    $i++;
    if($i % 3 === 0 && $i !== 0) {
      echo '</tr>';
    }
  }
  echo '</table>';
  $d->close();
?>

„In diesem Sinne“
— Krypthonas
In welchem Sinne?
 
Original geschrieben von Krypthonas
Ja ich habe die Abfrageklammern vergessen mit hinzuschreiben ;)
PHP:
$c=1; 
while ($file = readdir($verz)) 
    { 
        if($file != "." && $file != "..")
            {
                if($c=="4")
                    { 
                        echo "</tr><tr>"; 
                        $c=0;
                    }       
                echo "<td><a href=\"index.php?site=galerie/galery&galery=$file\"><img     src=\"img/folder.gif\" border=\"0\"><br><center>$file</center></a></td>";          
                $c++;        
            }      
        echo "</tr></table>";
    }


In diesem Sinne

Oh verdammt, darauf hätte ich auch selber kommen können....

Werde es heute abend testen.

In diesem Sinne! :-)
 
Modulo ist praktisch wenn du nen Farbwechsel realisieren willst
z.b. wenn du die Zeilen zwischen rot und blau wechseln willst
dann würdeste es so schreiben

PHP:
<table>
   <tr><th>überschrift</th></tr>
<?
$zeilen=6;
$farben = array("#0000FF","#FF0000");
for($i=0;$i<$zeilen;$i++){
?>
   <tr>
      <td align="center" bgcolor="<?=$farben[$i%2]?>"><?=$i?></td>
   </tr>
<?}?>
</table>

am ende würdeste nun 6 Zeilen erhalten welche abwechselnd blau,rot sind
wenn du mehr farben verwenden willst dann musste nur das array und den modulo erweitern
 
Zurück