conception intranet

jagogordonne
Invité n'ayant pas de compte PHPfrance

31 mars 2010, 16:09

et voilà ce qu'il y avait aussi à la base dans ma page j'ai éssayé des iframe des includes de passer par java pas mal de chose et je m'en sors pas !!
<SCRIPT language="JavaScript">

function Volume() {
		var L =document.getElementById('longueur_prerempli').value;
		var C =document.getElementById('circonference_prerempli').value;
		var V = "";
		V = ((0,079578*(C*C)*L)/1000000);
		V=(V.toFixed(3));
		document.getElementById('volume_prerempli').value=V;		
	}
function Volume2() {
		var L =document.getElementById('longueur_prerempli').value;
		var D =document.getElementById('diametre_prerempli').value;
		var V = "";
		V = ((0,079578*((D*Math.PI)*(D*Math.PI))*L)/1000000);
		V=(V.toFixed(3));
		document.getElementById('volume_prerempli').value=V;	
	}
</script>


<form>

<table width="100%" style="border: 1px solid black" align="left" style="background-color : #DDDDDD" id="arbre">
	<th align="left"></th>
	<th align="left">N Arbre</th>
	<th align="left">Longueur</th>
	<th align="left">Circonference</th>
	<th align="left">diametre</th>
	<th align="left">Volume</th>
	

<?php 
	$ligne=0;
	$arret=nb_ligne;
	while ($ligne != $arret) { ?>
	<tr>
		<td align="left">
			<input type="hidden" id="ligne" name="ligne" value="<?php echo $ligne;?>" />
		</td>
		<td align="left">
			<input type="text" id="arbre_rempli_<?php echo $ligne;?>" name="arbre_rempli_<?php echo $ligne;?>" style="width:50px" maxlength="35" >
		</td>
		<td align="left">
			<input type="text" id="Longueur_rempli_<?php echo $ligne;?>" name="Longueur_rempli_<?php echo $ligne;?>" style="width:50px" maxlength="35">
		</td>
		<td align="left">
			<input type="text" id="cir_rempli_<?php echo $ligne;?>" name="cir_diam_rempli_<?php echo $ligne;?>" style="width:50px" maxlength="35" onkeyup="Volume()" >
		</td>
		<td align="left">
			<input type="text" id="diam_rempli_<?php echo $ligne;?>" name="cir_diam_rempli_<?php echo $ligne;?>" style="width:50px" maxlength="35" onkeyup="Volume2()">
		</td>
		<td align="left">
			<input type="text" id="volume_rempli_<?php echo $ligne;?>" name="volume_rempli_<?php echo $ligne;?>" style="width:50px" maxlength="35">
		</td>
		<td>
			<select name="suivie_rempli_<?php echo $ligne;?>" id="suivie_rempli_<?php echo $ligne;?>" onchange="">
								<option selected="selected" value="1" >-Suivie-</option>
		</td>
		<td align="center">
			<INPUT border=0 src="./Images/ok_small.gif " type=image name="save" width="12" height="16" />
		</td>
		<td align="center">
			<INPUT border=0 src="./Images/modif.gif " type=image name="Modif" width="12" height="16" />
		</td>
		<td align="center">
			<INPUT border=0 src="./Images/Delete_01.png " type=image name="Delete" width="12" height="16" />
		</td>
	</tr>
	<?php
	$ligne = $ligne+1;
	} ?>
</table>
</form>

Eléphant du PHP | 422 Messages

31 mars 2010, 16:30

la partie while ($ligne != $arret) { ?>

il faut la faire en JS

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

jagogordonne
Invité n'ayant pas de compte PHPfrance

31 mars 2010, 16:39

Et serait-il possible d'avoir un peu plus d'info ou un exemple ?
merci

jagogordonne
Invité n'ayant pas de compte PHPfrance

02 avr. 2010, 15:35

Salut à tous,
J'ai suivie vos conseil et voici mon tableau javascript avec des inputs texts.
Je dois pas être très loin de la fin cependant mon code ne marche pas sous IE si quelqu'un pouvait m'aider ?
Et il doit me manquer une ligne du type "form.appendChild(body)" pour le mettre dans mon formulaire mais mon formulaire éxiste déjà donc comment je déclare "form" ?
<html>
<head>
<title>Code de démonstration</title>
<script>
    function start() {
        // récupère une référence vers l'élément body
        var body = document.getElementsByTagName("body")[0];
        var nbligne = document.getElementById("nombre_arbre_prerempli").value;

        // crée un élément <table> et un élément <tbody>
        table     = document.createElement("table");
        tablebody = document.createElement("tbody");

        // création des cellules
        for(var j = 0; j < nbligne; j++) {
            // crée une ligne de tableau
            var row = document.createElement("tr");
            
            for(var i = 0; i < 5; i++) {
                // Crée un élément <td> et un input, on place le input
                cell = document.createElement("td");
	                var input = document.createElement("input");
	                input.setAttribute ("id","menu"+j+i)
		input.setAttribute ("type","text");
                //texte = document.createTextNode("la cellule est ligne "+j+", colonne "+i);
                cell.appendChild(input);
                row.appendChild(cell);
            }
            // ajoute la ligne à la fin du corps du tableau
            tablebody.appendChild(row);
        }
        // place <tbody> dans l'élément <table>
        table.appendChild(tablebody);
        // ajoute <table> à l'élément <body>
        body.appendChild(table);
        // définit l'attribut border du tableau à 2
        table.setAttribute("border", "2");
    }
	function affich() {
		alert ("on rentre dans la fonction");
		var cellule = document.getElementById("menu11").value;
		alert (cellule);
	}
</script></head>
<body id="body1" onload = "start()"/>
<input type="button" id="arbre" name="arbre" value="arbre" onclick="start()"/>
<input type="button" id="affich_cellule" name="affich_cellule" value="affich11" onclick="affich()"/>
<input type="text" id="nombre_arbre_prerempli" name="nombre_arbre_prerempli" style="width:150px" maxlength="35"/>
</body>
</html>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 avr. 2010, 16:40

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé) (dans ton cas [html].

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 422 Messages

02 avr. 2010, 16:57

Hello

j'ai pas regarder ton code, mais si tu veux pas réinventer la roue regarde du coté de Jquery
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

jagogordonne
Invité n'ayant pas de compte PHPfrance

06 avr. 2010, 13:44

Finalement voici ma fonction qui fonctionne bien sous IE et Mozilla
function remp_arbre() {
        // Declaration
		var O_body = document.getElementById("div_arbre");
		var nbligne = document.getElementById("nombre_arbre_prerempli").value;
		// création de la table
        var O_table = document.createElement("table");
		//Ajout de la table
		O_body.appendChild(O_table);
        // création des ligne
        for (var j = 0; j < nbligne; j++) {
            // crée une ligne de tableau
            var O_row = O_table.insertRow(-1);
            //Création des colonnes
            for (var i = 0; i < 5; i++) {
                // Crée un élément input
                var O_cell = O_row.insertCell(-1);
				var O_input = document.createElement("input");
				O_input.setAttribute ("id","menu"+j+i)
				O_input.setAttribute ("type","text");
                O_cell.appendChild(O_input);
            }
        }
    }
Seulement une chose me dérange lorsque j'apelle une cellule grâce à un bouton ça marche
function affich() {
		alert ("on rentre dans la fonction");
		var cellule = document.getElementById("menu11").value;
		alert (cellule);
	}
Mais ça ne fonctionne pas lorsque je fais un submit de mon formulaire ?
<?php
if(isset($_POST['Submit_x'])){
		$Tableau=$_POST;
		$message="";
		$menu11=($Tableau['menu11']);
		if ($menu11=="") {
			$message .= sprintf('Error menu11');
		}
		$num_abattage=($Tableau['num_abattage_prerempli']);
		if ($num_abattage=="") {
			$message .= sprintf('Error num_abattage');
		}
}?>
$menu11 n'apparait pas dans mes variables POST pourtant il est bien dans mon formulaire !
Merci d'éclairer ma lanternne.

Eléphant du PHP | 422 Messages

06 avr. 2010, 14:08

hello

O_input.setAttribute ("name","minInput[]");

à mettre la ou tu créer tes input dans ton JS ! (il faut un name :) )

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

jagogordonne
Invité n'ayant pas de compte PHPfrance

06 avr. 2010, 15:07

Merci je vois toute mes cellules magique :D !!
Je voudrais poser deux dernières questions avant de fermer ce sujet, promit !
Tout d'abord comment injecter mes données dans la base sachant que le name est menu[j]
j étant le nombre de ligne
i étant le nombre de colonne

ex:
menu4980 -> 499lignes 1er collonne ->N°arbre
menu4981 -> 499lignes 2eme collonne ->Longueur
menu4982 -> 499lignes 3eme collonne ->Circonférence
menu4983 -> 499lignes 4eme collonne ->Diamètre
menu4984 -> 499lignes 5eme collonne ->Volume
Si quelqu'un pouvait m'orienter sur la façon de traiter ces données avant le insert en php ?

Ensuite mon volume ce calcul de façon mathématique grâce à la longueur et la circonférence ou le diametre, j'ai réalisé une formule en javascript qui marche très bien mais comment mettre un "onkeyup=mafonction()" sur une colonne ?

Enfin je vous remerci tous car vous avez de la patiente et du courage à aider les gens comme moi qui bloque sur du code en tout cas sans vous j'aurais jamais pu faire ce que je voulais dans mon appli car je suis seul dans mon entreprise et ça fais plaisir de savoir qu'on peut toujours allé poster son problème sur un forum quand on y arrive pas tout seul.
merci

jagogordonne
Invité n'ayant pas de compte PHPfrance

09 avr. 2010, 14:25

Salut !
voilà pour les gens qui cherche à mettre des fonctions sur une collonne :
function remp_arbre() {
        // Declaration
		var O_body = document.getElementById("div_arbre");
		var nbligne = document.getElementById("nombre_arbre_prerempli").value;
		// création de la table
        var O_table = document.createElement("table");
		//Ajout de la table
		O_body.appendChild(O_table);
        // création des ligne
        for (var j = 0; j < nbligne; j++) {
            // crée une ligne de tableau
            var O_row = O_table.insertRow(-1);
            //Création des colonnes
            for (var i = 0; i < 5; i++) {
                // Crée un élément input
                var O_cell = O_row.insertCell(-1);
				O_cell.setAttribute ("onkeyup","keyup()");
				var O_input = document.createElement("input");
				O_input.setAttribute ("id","menu"+j+i)
				O_input.setAttribute ("name","menu"+j+i)
				O_input.setAttribute ("type","text");
				O_input.Lig = j;
				O_input.Col = i;
				if (i == 2) {
					O_input.onkeyup = function() {
						Volume(this.Lig,this.Col)};
				}
				if (i == 3) {
					O_input.onkeyup = function() {
						Volume2(this.Lig,this.Col)};
				}
				if (i == 4) {
					O_input.onkeyup = function() {Volume_total()};
				}
                O_cell.appendChild(O_input);
            }
        }
    }
et sinon pour le traitement php tjs pas d'idée ?

jagogordonne
Invité n'ayant pas de compte PHPfrance

12 avr. 2010, 11:31

Bonjour,

Que pensez-vous de ça ?
<?php
for ($i = 0; $i = $arbre_abattu; $i++) {
	$Num_arbre=($Tableau['menu'.$i.'0']);
	$longueur=($Tableau['menu'.$i.'1']);
	$circonference=($Tableau['menu'.$i.'2']);
	$diametre=($Tableau['menu'.$i.'3']);
	$volume=($Tableau['menu'.$i.'4']);
	$req_ins_2="INSERT INTO $bdd.`tbl_arbre` VALUES (
	NULL,'$Num_arbre','$longueur','$circonference','$diametre','$volume','$suivie','$num_lot','$num_abattage')";
	$reponse_ins2 = mysql_query($req_ins_2);
	echo mysql_error();
	//echo $req_ins2;
}
?>
merci