IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] rand pour un tableau


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut [Tableaux] rand pour un tableau
    Bonjour,

    j'essais de créer un tableau avec la taille demandé par l'utilisateur, ca c'est bon, puis de metre par randome la valeurs 'CO' dans certaines cases

    J'utilise ce script, mais il me montre clairement que je ne modifie rien dans mon tableau... quelqu'un sais comment améliorer ce petit script?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <html>
    <head>
    <?php
     
    $nb_colonnes = $_POST['nb_colonnes'];
    $nb_lignes = $_POST['nb_lignes'];
    $nb_mines = $_POST['nb_mines'];
     
    ?>
    <style type="text/css">
    table,td {
    border: 1px solid black;
    border-collapse: collapse;
    }
    </style>
    </head>
    <body>
    <div align="center">
    <table id="grille" >
    <?php
     
    	for ($x=1;$x<=$nb_lignes;$x++)
    	{	 
    	echo "<tr>";
    		for ($y=1;$y<=$nb_colonnes;$y++)
    		{
    		$array[$x][$y] = 'CN';	
    		$valeur = $array[$x][$y];
    		echo "<td><input type='button' value='".$array[$x][$y]."' id='$x$y' onClick='javascript:alert(\"$valeur\");'/></td>"; 				
    		}
    	echo "</tr>";
    	}
     
    	for ($i=0;$i<=$nb_mines;$i++){
    	$x = rand( 0, $nb_lignes );
    	$y = rand (0 , $nb_colonnes );
    	$array[$x][$y] = 'CO';
    	echo $x.$y;
    	echo "<script language='javascript'>document.getElementById('$x$y').value = 'CO';</script>";	
    	}
     
    ?>
    </table>
    </div>
    </body>
    </html>
    la premiere page étant consitué d'un bloc html simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <html>
    <body><br/>
    <div align="center">
    <form name="create" method="post" action="make_tab.php">
    Nb col
    <input type="text" value="" name="nb_colonnes"/><br/><br/>
    Nb ligne
    <input type="text" value="" name="nb_lignes"/><br/><br/>
    Nb mines
    <input type="text" value="" name="nb_mines"/><br/><br/><br/>
     
    <input type="submit" value="Envoyer" name="submit"/>
    </form>
    </div>
    </body>
    </html>
    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    J'aurais fait comme ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    $nbColonnes = 10;
    $nbLignes = 5;
    $nbMines = 12;
     
    $positionMines = array_rand(range(1, $nbColonnes*$nbLignes), $nbMines);
     
    $n = 1;
    $Tableau = '<table border="1">';
    for($i=1; $i<=$nbLignes; $i++ )
    {
      $Tableau .= '<tr>';
      for($j=1; $j<=$nbColonnes; $j++ )
      {
        $Tableau .= '<td width="50" height="50">';
        if( in_array($n, $positionMines) )
    		  $Tableau .= 'mines';
        $Tableau .= '</td>';
        $n++;
      }
      $Tableau .= '</tr>';
    }
    $Tableau .= '</table>';
     
    echo $Tableau;
     
    ?>

  3. #3
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    le probleme de ce script est que les cases non selectionnées sont vides, elles n'existe pas, alors que dans mon cas elles doivent exister !

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2007, 14h56
  2. Réponses: 2
    Dernier message: 27/07/2006, 11h17
  3. Réponses: 3
    Dernier message: 14/04/2006, 15h33
  4. [Tableaux] Problème pour contrôler un tableau
    Par renaud26 dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 12h45
  5. Réponses: 9
    Dernier message: 17/02/2006, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo