1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?Php
function getNum($nbNum,$min,$max,$nbnumByTen){
$i = 1;
$tabGrille=array();
while ($i<=$nbNum){
$carte = rand($min, $max);
if($carte > 9){
$diz = strval($carte);
$col = $diz{0} + 1;
$col = "col".$col;
}
else
{
$col = "col1";
}
//On vérifie que le numéro n'a pas déja été tiré.
if (!isset($tabGrille[$col]) || !in_array($carte, $tabGrille[$col])) {
//On définie la colonne
//on range le numero dans sa colonne
if(!isset($tabGrille[$col]) || count($tabGrille[$col])<$nbnumByTen){
$tabGrille[$col][] = $carte;
$i++;
}
}
}
//on trie les colonne
foreach($tabGrille as $key=>$value){
sort($tabGrille[$key]);
}
return($tabGrille);
}
//nombre de numero à afficher
$nbNum = 15;
//nombre minimum
$min = 1;
//nombre maximum
$max = 90;
//nombre de numero maximum par colonne
$nbnumByTen = 3;
//on appel notre fonction
$grille = getNum($nbNum,$min,$max,$nbnumByTen);
?>
<table style="border:1px solid black">
<?Php
//on cherche combien de cilonne il y a
$nbCol = (int)$max / 10;
//ligne
for($j = 0; $j < $nbnumByTen;$j++)
{
echo"<tr style='border:1px solid black'>";
//col
for( $i = 1;$i <= $nbCol+1;$i++)
{
$key = "col".$i;
echo "<td style='text-align:center;width:50px;height:50px;border:1px solid black;'>";
if(isset($grille[$key][$j])){echo $grille[$key][$j];}
echo "</td>";
}
echo"</tr>";
}
?>
</table> |
Partager