Tableau html

Résolu/Fermé
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 - 10 juin 2008 à 14:12
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 - 11 juin 2008 à 13:19
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
A voir également:

8 réponses

Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 13:19
sa marche merci bcp php :) :) :) :)
1
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 juin 2008 à 14:21
Bjr

Tu peux le faire en PHP ou en Javascript

Mais tes colonnes tu y mets quoi dedans ?
-1
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
10 juin 2008 à 14:25
je ve i metre d chekbox
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 juin 2008 à 17:49
Oui ok mais tu veux coder en Javascript ou en PHP ?
-1
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 08:02
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
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 08:02
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
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
11 juin 2008 à 10:26
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 10:34
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
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
11 juin 2008 à 11:40
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
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 11:41
wai jveux savoir le nombre de case qui ont été coché
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
11 juin 2008 à 11:51
Est-ce que tu veux compter le nbr de cases cochées pour chaque ligne pour chaque utilisateur pour chaque jour ?
-1
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 11:54
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
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
11 juin 2008 à 12:30
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
Adrix08 Messages postés 126 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 février 2009 1
11 juin 2008 à 13:14
merci php ms ya une erreur a la ligne 48 avk le < et >
0