Page 1 sur 1

application tableau

Posté : 30 juin 2011, 21:25
par djiro steve
salut les amis,
j'ai un problème avec php.
j'ai crée un formulaire avec un champ de saisie nommé "nom" et 2 boutons. l'un de type submit et l'autre de type bouton que j'ai nommé bouton.
A l'aide de ce formulaire et du bouton de type submit, je veux entrer des données qui seront ajouter automatiquement dans un tableau $tab.
ensuite à l'aide du deuxième bouton j'affiche ce que j'ai entré manuellement dans le tableau.
j'ai essayé mais je n'y arrive pas. Aidez moi.
voila ce que j'ai fais:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="steve" />

<title>Untitled 1</title>
</head>

<body>
<form action="application.php" method="POST">
<label> Entrer le premier mot </label><input type="text" name="nom" size="30" />
<br />
<input type="submit" value="Entrer" />
<input type="button" value="Afficher" name="aff"/>
</form>
<?php
if(isset($_POST["nom"]))
{
$nom = $_POST["nom"];
$tab[ ] = array($nom);
}

if($_POST["aff"] == "Afficher")
{
for($i=0; $i<count($tab); $i++)
{
echo "l'element N° $i du tableau est: ", $tab[$i];
echo "<br />";
}
}
?>

</body>

</html>

Re: application tableau

Posté : 01 juil. 2011, 01:45
par dogmongo
Bonjour,

Ton bouton afficher il ne risque pas de faire grand chose si tu ne lui assigne pas une action via une fonction quelconque.

au plus simple fais une fonction qui afficherai tes variables grace à un simple echo

au plus simple fais un truc comme ca avec deux submit

Code : Tout sélectionner

<?php switch($action){ case "Entrer": echo "je valide"; break; case "Afficher": echo "j'affiche $nom"; break; default: } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <meta name="author" content="steve" /> <title>Untitled 1</title> </head> <body> <form action="<?php echo $_SERVER['$PHP_SELF']?>" method="POST"> <label> Entrer le premier mot </label> <input type="text" name="nom" size="30" /> <input type="submit" value="Entrer" name="action" /> <input type="submit" value="Afficher" name="action"/> </form> </body> </html>

application tableau

Posté : 04 juil. 2011, 13:33
par djiro steve
merci car c'est un coin d'ombre que tu viens d’éclaircir. :)
mais ce que je veux encore faire et c'est le but de mon exercice c'est par exemple:
supposons que la table $tab[] = array (1,4,78,56,89,6)
alors quand je entre 34,23,788,76 dans le champs de saisi et que je valide:
les éléments de la table $tab augmentent et la table contient désormais les éléments suivant: $tab[] = array (1,4,78,56,89,6,34,23,788,76 )
après tout ça, je veux pouvoir récupérer tous ces éléments, les afficher et aussi calculer la somme de tous les elements du tableau $tab comme par exemple:
1+4+78+56+89+6+34+23+788+76

Re: application tableau

Posté : 04 juil. 2011, 14:04
par macgawel
merci car c'est un coin d'ombre que tu viens d’éclaircir. :)
mais ce que je veux encore faire et c'est le but de mon exercice c'est par exemple:
supposons que la table $tab[] = array (1,4,78,56,89,6)
alors quand je entre 34,23,788,76 dans le champs de saisi et que je valide:
les éléments de la table $tab augmentent et la table contient désormais les éléments suivant: $tab[] = array (1,4,78,56,89,6,34,23,788,76 )
après tout ça, je veux pouvoir récupérer tous ces éléments, les afficher et aussi calculer la somme de tous les elements du tableau $tab comme par exemple:
1+4+78+56+89+6+34+23+788+76
Il y a plusieurs choses :
1. Il faut que tu "transformes" le contenu de ton input (une chaîne de valeurs séparées par des ",") en tableau => explode().
2. Ajouter le tableau obtenu au tableau de base => array_merge()
3. Calculer la somme => array_sum()

Re: application tableau

Posté : 04 juil. 2011, 16:43
par dogmongo
2 petits exemple simple

$somme=0;

//$_POST[nom] = "12,15,8,7,54";
$tab = explode(",", $_POST["nom"]);	

for ($n=0 ; $n <= count($tab); $n++)
{	
$cle = $tab[$n];
echo "+ ".$cle."<br>";
$somme = $somme + $cle;
}

//exemple simple boucle
echo "for: ".$somme."<br>";

//exemple avec array_sum
echo "array_sum: ".array_sum($tab)."<br>";

Re: application tableau

Posté : 04 juil. 2011, 19:09
par sirakawa
Je dirais que:
on peut imaginer un formulaire qui se réappelle avec sur un des deux boutons ou les deux un minimum de javascript
supposons que ton script se nomme entree.php et que le résultat final soit transmis à enregistrer.php
Si ça ne marche pas, c'est que je me suis trompé en adaptant et transcrivant un code dont je me sers très souvent...
Je préfère tout balancer par print, ce qui oblige à mettre des simples quotes dans les parties html... mais c'est juste une manie à moi
<script language="JavaScript">

var actions = new Array();

	actions[1] = 'entree.php';

	actions[12] = 'enregistrer.php';

function change_action (action)

{

	action=actions[action];

	document.forms.formulaire.action=action;

}
</script>
</head>
</body>
<?PHP
$le_nom = isset($_POST['nom'])? $_POST['nom'] : "";
print "
 <form id = 'formulaire' 'name='texte' method='post'> <!-- il faut se servir de id, et mettre formulaire si c'est ce qu'on met dans change_action(action)

<label> Entrer le premier mot </label><input type='text' name='nom' size='30' value = ='$le_nom' />

<button class='autres' onclick='change_action (1)' type='submit'>Vérifier</button>

<button class='autres' onclick='change_action (2)' type='submit'>Enregistrer</button>
</form>";
?>
...

Re: application tableau

Posté : 05 juil. 2011, 03:22
par djiro steve
vraiment merci a tous.
cependant avec l'exemple de dogmongo je suis obligé d'entrer plusieurs elements séparer par des virgules pour que ça marche.
sans doute, je me suis mal expliqué. excusez moi.
la vrai explication c'est: entrer 1 element dans le champ et valider avec le bouton valider pour que l'elemnt soit ajouté au tableau.
merci d'avance les amis

Re: application tableau

Posté : 05 juil. 2011, 09:46
par macgawel
vraiment merci a tous.
cependant avec l'exemple de dogmongo je suis obligé d'entrer plusieurs elements séparer par des virgules pour que ça marche.
sans doute, je me suis mal expliqué. excusez moi.
la vrai explication c'est: entrer 1 element dans le champ et valider avec le bouton valider pour que l'elemnt soit ajouté au tableau.
merci d'avance les amis
Ben dans ce cas c'est la même chose en plus simple, vu que tu n'as pas à éclater le contenu du formulaire :mrgreen:

ceci-dit, l'exemple de dogmongo fonctionne. Tu te retrouveras avec un tableau à une entrée, c'est tout...

Re: application tableau

Posté : 05 juil. 2011, 10:28
par dogmongo
dans ce cas regard edu coté de implode :wink:

Re: application tableau

Posté : 06 juil. 2011, 00:58
par djiro steve
:) ça marche!!!!!!!!!!
merci pour tout
ah je vais vous emmerder avec mes problèmes de php maintenant :mrgreen:

A très bientôt!!!