Tableau html

Résolu
Adrix08 Messages postés 126 Statut Membre -  
Adrix08 Messages postés 126 Statut Membre -
Bonjour,

est il possible faire une boucle en html afin de crée des colonne dans un tableau...car g besoin de 48 colonne et c'est trés galere de les remplir toutes une par une donc si quelqu'un pouvait me renseigner....merci
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. Adrix08 Messages postés 126 Statut Membre 1
     
    sa marche merci bcp php :) :) :) :)
    1
  2. PhP Messages postés 1774 Statut Membre 606
     
    Bjr

    Tu peux le faire en PHP ou en Javascript

    Mais tes colonnes tu y mets quoi dedans ?
    -1
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      je ve i metre d chekbox
      0
  3. PhP Messages postés 1774 Statut Membre 606
     
    Oui ok mais tu veux coder en Javascript ou en PHP ?
    -1
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      je veux cocher les case, chaque case symbolise 15minute, il faudrait que j'arrive a compter le nombre de case a cocher me permetan d'afficher le nombre total de minute passer.
      0
    2. Adrix08 Messages postés 126 Statut Membre 1
       
      je veux cocher les case, chaque case symbolise 15minute, il faudrait que j'arrive a compter le nombre de case a cocher me permetan d'afficher le nombre total de minute passer.
      0
  4. PhP Messages postés 1774 Statut Membre 606
     
    bjr

    Comme tu ne dis tjrs pas si tu utilises PHP ou pas voici un ex en Javascript

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html  xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <style>
    *
    {
    	font-family : arial;
    	font-size : 10pt;
    }
    
    td
    {
    	padding-left : 2px;
    	padding-right : 2px;
    }
    
    pre
    {
    	margin : 0px;
    	padding : 1px;
    }
    
    .rowA
    {
    	background-color : #F0F0FF;
    	width: 50px;
    	white-space: nowrap;
    }
    
    .rowB
    {
    	background-color : #F9F9F9;
    	width: 50px;
    	white-space: nowrap;
    }
    
    input
    {
    	display : inline;
    }
    </style>
    
    <script type="text/javascript">
    <!--
    	// Objet pour construire et manipuler les grilles (table HTML) avec DOM
    	function Grid()
    	{		
    		this.colCount = 0;
    		this.rowCount = 0;	
    		this.table = null;
    		this.tableBody = null;
    		this.tableId = "";
    	}
    
    	// Efface la ligne spécifiée par rowIndex
    	Grid.prototype.deleteRow = function(rowIndex)
    	{
    		if (rowIndex < this.rowCount)
    		{
    			// recherche la ligne de tableau
    			var row = this.tableBody.getElementsByTagName("tr")[rowIndex];	
            	
    			// Supprime la ligne
    			this.tableBody.removeChild(row);
    			this.rowCount--;
    		}	
    	}
    	
    	// Ajoute une ligne à la position rowIndex dans la table HTML
    	Grid.prototype.createRow = function(rowIndex)
    	{
    		var row = document.createElement("tr");		
    	
    		for(var colIndex = 0; colIndex < this.colCount; colIndex++) 
    		{
    			// Crée un élément <td> 
    			var cell = document.createElement("td");
    			cell.className=this.getCellClass(rowIndex,colIndex);
    			// Demande au DataProvider de fournir le contenu à afficher dans la cellule
    			cell.innerHTML = this.getCellData(rowIndex,colIndex);
    			row.appendChild(cell);
    		}
    					
    		if (rowIndex == this.rowCount)
    		{
    			// ajoute la ligne à la fin du corps du tableau
    			this.tableBody.appendChild(row);
    		}
    		else
    		{	
    			// recherche la ligne de tableau
    			var rowNode = this.tableBody.getElementsByTagName("tr")[rowIndex];					
    			this.tableBody.insertBefore(row,rowNode);
    		}
    		this.rowCount++;	
    	}	
    	
    	// Ajouter une ligne à la fin
    	Grid.prototype.addRow = function()
    	{
    		this.createRow(this.rowCount);
    	}	
    	
    	// Insère à la position rowIndex
    	Grid.prototype.insertRow = function(rowIndex)
    	{
    		this.createRow(rowIndex);
    	}		
    	
    	// Création dynamique des lignes dans la table et chargement de chaque cellule
    	Grid.prototype.setRowCount = function(rowCount)
    	{
    		if (rowCount > this.rowCount)
    		{	
    			var startRowIndex = this.rowCount;
    			for( var rowIndex = startRowIndex; rowIndex < rowCount; rowIndex++) 
    			{
    				this.createRow(rowIndex);
    			}
    		}
    	}	
    		
    	// retourne l'élément TD html corrrepondant à la cellule qui se trouve en [rowIndex,colIndex]
    	Grid.prototype.getCell = function(rowIndex,colIndex)
    	{		
    		var row = this.tableBody.getElementsByTagName("tr")[rowIndex];
    		return row.getElementsByTagName("td")[colIndex];
    	}
    
    	// Initialise la grille puis la charge en demandant au dataProvider de fournir le contenu de chaque cellule
    	Grid.prototype.init = function(tableId,rowCount,colCount)
    	{	
    		this.tableId = tableId;
    		this.table = document.getElementById(tableId);	
    		this.colCount = colCount;
    
    		this.tableBody = document.createElement("tbody");
    		// place <tbody> dans l'élément <table>	
    		this.table.appendChild(this.tableBody);
    		this.setRowCount(rowCount);	
    	}
    	
    	Grid.prototype.getCellData = function(rowIndex, colIndex)
    	{	
    		if (typeof(this.onGetCellData) == "function") 
    		{
    			return this.onGetCellData(rowIndex, colIndex);
    		}
    		else
    		{
    			return "&nbsp;";
    		}
    	}
    
    	Grid.prototype.getCellClass = function(rowIndex, colIndex)
    	{	
    		if (typeof(this.onGetCellClass) == "function") 
    		{
    			return this.onGetCellClass(rowIndex, colIndex);
    		}
    		else
    		{
    			return "";
    		}
    	}	
    // -->
    </script>
    
    
    <script type="text/javascript">
    <!--	
    
    // création d 'un objet de type Grid (en fait une table HTML)	
    var grille=new Grid();
    
    // Gestionnaires d'événements
    // Lorsque la grille demande le contenu de la cellule
    grille.onGetCellData =function(rowIndex, colIndex)
    {
    	var id="cb_"+rowIndex+"_"+colIndex;
    	return colIndex+'<input type="checkbox" id="'+id+'" onclick="grille.onClickCheckbox(\''+rowIndex+'\',\''+colIndex+'\')">';
    }
    
    // Lorsque la grille demande le style css a utilisé pour la cellule
    grille.onGetCellClass =function(rowIndex, colIndex)
    {
    	return (rowIndex % 2) ? "rowA" : "rowB";
    }
    
    grille.onClickCheckbox = function(rowIndex, colIndex)
    {
    	var cb = document.getElementById("cb_"+rowIndex+"_"+colIndex);
    	var input_total = document.getElementById("total");
    	
    	var total = 0;
    	total = parseInt(input_total.value);
    	if (isNaN(total))
    	{
    		total = 0;
    	}
    	
    	if (cb.checked)
    	{ 
    		total = total + 15;
    	}
    	else
    	{
    		total = total - 15;	
    	}
    	input_total.value =  total;
    } 
    
    function go()
    {
    	// Initialise la grille 
    	grille.init('ma_grille',1,48);	
    }
    // -->
    </script>
    
    </head>
    <body onload="go()">
    <form>
    <div><table id="ma_grille" border="1" cellspacing="0"></table></div>
    <br />
    Total <input type="text" id="total">
    </form>
    </body>
    </html
    >
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Adrix08 Messages postés 126 Statut Membre 1
     
    si sii j'utilise php....par contre la je ne compren pas tro ton script :s je v te montrer le mien tu me dira ske ten pens...

    voici le script de ma page html avec mon tableau et ms checkbox :

    <html>
    <head>
    <title>Untitled</title>

    </head>

    <body bgcolor="darksalmon">
    <form name="form1" method="post" action="compteur.php">
    <center><table border="2">
    <?php
    $nbJoursMois = date('t');

    $jour = date('d');
    $mois = date('m');
    $annee = date('Y');
    ?>
    <tr>
    <td><b>Date/Heure</b></td>
    <td COLSPAN=4><b>8h</b></td>
    <td COLSPAN=4><b>9h</b></td>
    <td COLSPAN=4><b>10h</b></td>
    <td COLSPAN=4><b>11h</b></td>
    <td COLSPAN=4><b>12h</b></td>
    <td COLSPAN=4><b>13h</b></td>
    <td COLSPAN=4><b>14h</b></td>
    <td COLSPAN=4><b>15h</b></td>
    <td COLSPAN=4><b>16h</b></td>
    <td COLSPAN=4><b>17h</b></td>
    <td COLSPAN=4><b>18h15</b></td>
    <td COLSPAN=4><b>Compteur</b></td>
    </tr>
    <?php
    for( $jour = 1; $jour < $nbJoursMois+1; $jour++)
    { // Là on s'occupe de la 1ère ligne du cycle de 3
    echo ' <tr>
    <td><b>'.$jour.'/'.$mois.'/'.$annee.'</b></td> '; // On affiche la date
    echo ' </tr> ';
    echo '
    <tr>
    <td><b>Agnes</b></td> '; // On affiche le prénom
    for($i = 0; $i<=43; $i++)
    {
    echo '<td><input type="checkbox" name="presente1" value=1/></td>'; // + les 11 checkbox pour arriver jusqu'au compteur
    }
    echo ' <td><input type="submit" name="envoyer" value="envoyer"></td> '; // Tu remplace aAa par ce que tu souhaite afficher :)
    echo ' </tr> ';
    echo ' <tr>
    <td><b>Brigitte</b></td> '; // On affiche le prénom
    for($i = 0; $i<=43; $i++)
    {
    echo '<td><input type="checkbox" name="presente2" value=1/></td>'; // + les 11 checkboxes pour arriver jusqu'au compteur
    }
    echo ' <td><input type="submit" name="envoyer" value="envoyer"></td> '; // Tu remplace aAa par ce que tu souhaite afficher :)
    echo ' </tr> ';
    }
    ?>

    </table></center></form>
    </body>
    </html>

    maintenant jessaye de trouver un script qui me permetrai de trouver le nombre de case cocher...
    -1
  7. PhP Messages postés 1774 Statut Membre 606
     
    Ha ben fallait commencer par là ! T'Oh !

    Quand tu postes ta page (bouton Envoyer) tu veux récupérer toutes les cases pour tout le planning dans ta page compteur.php ? c'est bien ca ?
    -1
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      wai jveux savoir le nombre de case qui ont été coché
      0
  8. PhP Messages postés 1774 Statut Membre 606
     
    Est-ce que tu veux compter le nbr de cases cochées pour chaque ligne pour chaque utilisateur pour chaque jour ?
    -1
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      en fait pour chaque jour elle doivent faire un nombre dheure donc elle coche les case pour dire quelles sont presente. donc je pens que c pour chaque jour.
      0
  9. PhP Messages postés 1774 Statut Membre 606
     
    Oky docky

    Alors essai :

    <html> 
    <head> 
    <title>Untitled</title> 
    
    </head> 
    
    <body bgcolor="darksalmon"> 
    <form name="form1" method="post" action="compteur.php"> 
    <center><table border="2"> 
    <?php 
    $nbJoursMois = date('t'); 
    
    $jour = date('d'); 
    $mois = date('m'); 
    $annee = date('Y'); 
    
    
    $users=array();
    $users[]="Agnes";
    $users[]="Brigitte";
    ?> 
    <tr> 
    <td><b>Date/Heure</b></td> 
    <td COLSPAN=4><b>8h</b></td> 
    <td COLSPAN=4><b>9h</b></td> 
    <td COLSPAN=4><b>10h</b></td> 
    <td COLSPAN=4><b>11h</b></td> 
    <td COLSPAN=4><b>12h</b></td> 
    <td COLSPAN=4><b>13h</b></td> 
    <td COLSPAN=4><b>14h</b></td> 
    <td COLSPAN=4><b>15h</b></td> 
    <td COLSPAN=4><b>16h</b></td> 
    <td COLSPAN=4><b>17h</b></td> 
    <td COLSPAN=4><b>18h15</b></td> 
    <td><b>Compteur</b></td> 
    </tr> 
    <?php
    for( $jour = 1; $jour < $nbJoursMois+1; $jour++) 
    { // Là on s'occupe de la 1ère ligne du cycle de 3 
        $datejour=sprintf("%02s/%02s/%02s",$jour,$mois,$annee); // On affiche la date 
    	printf('<tr><td><b>%s</b></td></tr>',$datejour); // On affiche la date 
    	for ($u=0; $u < count($users); $u++)
    	{
    		printf("<tr><td><b>%s</b></td>\n",$users[$u]); // On affiche le prénom 
    		for($i = 0; $i<=43; $i++) 
    		{ 
    			$id="users[".$users[$u]."][".$datejour."][".$i."]";
    			printf("<td><input type=\"checkbox\" id=\"%s\" name=\"%s\"></td>\n",$id,$id); // + les 11 checkbox pour arriver jusqu'au compteur 
    		} 
    		echo "<td><input type=\"submit\" name=\"envoyer\" value=\"envoyer\"></td>\n"; // Tu remplace aAa par ce que tu souhaite afficher :) 
    		echo "</tr>\n"; 
    	}	
    } 
    ?> 
    </table></center></form> 
    </body> 
    </html>


    compteur.php

    <?php 
    if (isset($_POST["users"]))
    {
    	echo "<table border=\"1\">\n";
    	$users=$_POST["users"];
    	foreach ($users as $user=>$dates)
    	{
    		foreach ($dates as $jour=>$pointages)
    		{	
    			echo "<tr>\n";
    			printf("<td>%s</td>\n",$user);
    			printf("<td>%s</td>\n",$jour);
    			printf("<td>%s minute(s)</td>\n",count($pointages)*15);		
    			echo "</tr>\n";
    		}
    	}	
    	echo "</table>\n";
    }	
    ?>


    La page compteur.php est ultra basique : à toi d'adapter--

    PhP  
    Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
    -1
    1. Adrix08 Messages postés 126 Statut Membre 1
       
      merci php ms ya une erreur a la ligne 48 avk le < et >
      0