[RESOLU] Afficher le résultat d'un formulaire dans un tableau php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher le résultat d'un formulaire dans un tableau php

Re: Afficher le résultat d'un formulaire dans un tableau php

par fnk_west » 29 juil. 2014, 00:17

Merci sirakawa! =D> :D

[SUJET RESOLU]

Re: Afficher le résultat d'un formulaire dans un tableau php

par fnk_west » 28 juil. 2014, 23:21

C'est exactement ça, avec quelques modifs que j'ai fait.

Merci beaucoup pour votre aide :D à plus.

Re: Afficher le résultat d'un formulaire dans un tableau php

par sirakawa » 28 juil. 2014, 09:23

Version amendée et commentée:
<?php 
// Création de la fonction 
function choixParDefaut($secteur)
{
	// On crée une variable (vide par défaut) que l'on retournera à la fin 
	$par_defaut = '';

	// Si le visiteur a choisi un secteur
	if (isset($_POST['secteur']))
	{
		// Si ce secteur correspond au secteur que l'on est en train de traiter
			if ($_POST['secteur'] == $secteur)
			{
				// Alors on modifie la variable que l'on retournera et on lui met selected 
				$par_defaut='selected="selected"';
			}
	}
	// On ne retourne rien si ce n'était pas le secteur choisi, selected si c'était le bon secteur
	return $par_defaut;
} 
// -------------- Fin de la fonction --------------- 


print_r($_POST); //ajout MB

/*Il est bien évident que si ton formulaire ne comprend que le nom, tu ne passeras jamais dans ce if
Si tu mets DEUX formulaires, lors de la validation du second la valeur saisie dans le premier est perdue.
*/

$consulter = true;
if (isset($_POST['nom']))
{
	$nom = $_POST['nom'];
}
else
{
	$consulter = false;
}
if ($consulter)
{
	$secteur = $_POST['secteur'];
	print "On est dans le if"; //MB
	$sql = "select id, nom, prenom, type_droit, status, secteur from maxusergroups where status = 'bloque' and id = '$nom' and secteur = '$secteur';";
	/*mysql est obsolete et doit etre remplac par mysqli ou PDO*/
	$resultat = mysql_query($sql, $link) or die ('Erreur : '.mysql_error());
	$nb_users = mysql_num_rows($resultat);

	echo '<table>'."\n";
	echo '<tr>';
	echo '<td>Identifiant</td>';
	echo '<td>Nom</td>';
	echo '<td>Prenom</td>';
	echo '<td>Type_droit</td>';
	echo '<td>Status</td>';
	echo '<td>Secteur</td>'; 
	echo '</tr>'."\n";
	while($row = mysql_fetch_array($resultat)) 
	{
		echo '<tr>';
		echo '<td>'.$row["id"].'</td>';
		echo '<td>'.$row["nom"].'</td>';
		echo '<td>'.$row["prenom"].'</td>';
		echo '<td>'.$row["type_droit"].'</td>';
		echo '<td>'.$row["status"].'</td>';
		echo '<td>'.$row["secteur"].' </td>'; 
		echo '</tr>'."\n";
	}
	echo '</table>'."\n";
	mysql_free_result($resultat);
	}
	else echo '<center>Pas d\'enregistrements dans cette table...</center>';
  	// on libère le résultat MAL PLACE
	//mysql_free_result($resultat);
?>


<!-- Formulaire : liste déroulante -->
<form method="post" name="form"style="height:19px" align="center" action="./index.php">
 Secteur :
<select name="secteur" onchange="form.submit()"> 
<!--En mettant ctte première option tu as tjs une valeur pour le secteur y compris quand aucune n'a été séletionnée
<option selected="selected"<?php echo choixParDefaut('Selectionnez'); ?>>--- Sélectionnez ---</option> -->
<option value="DSI" <?php echo choixParDefaut('DSI'); ?>>DSI</option> 
<option value="DAN" <?php echo choixParDefaut('DAN'); ?>>DAN</option> 
<option value="SCT" <?php echo choixParDefaut('SCT'); ?>>SCT</option> 
<option value="CGN" <?php echo choixParDefaut('CGN'); ?>>CGN</option> 
</select>
<!--</form> supprimé par MB-->

<!-- Formulaire : text -->
  <!--<form for="Nom" method="post" action="./index.php" style="height:19px display:inline-block"> 
supprimé MB; en plus ca m'étonnerait qu'on puisse styler un formulaire--> Nom :
  <input name="nom" type="text" />
<?php
//echo htmlspecialchars($_POST['nom']); devrait se trouver au moment de la requete

?>
  <input type="submit" id="chercher" name="chercher" value="Chercher"/>
  </form>
  

Afficher le résultat d'un formulaire dans un tableau php

par fnk_west » 28 juil. 2014, 07:11

Bonjour à tous,

Alors voici mon problème : Je souhaite afficher le résultat de mon formulaire dans un tableau lorsque j'effectue une recherche.
En effet, mon interface graphique web, va permettre aux utilisateurs de pouvoir effectuer une recherche par secteur (une liste déroulante) ou par login (un formulaire).
J'ai réussi à afficher la valeur que je sélectionne dans la liste déroulante dans mon tableau, mais pas quand je le fais avec mon formulaire.
Je n'ai pas de message d'erreur, et il me retourne un tableau vide.

Auriez-vous des réponses, des suggestions à me proposer svp ? merci.

Voici mon code :
<!-- Formulaire : liste déroulante -->
<form method="post" name="form"style="height:19px" align="center" action="./selection.php">
Secteur :
<select name="secteur" onchange="form.submit()"> 
<option selected="selected"<?php echo choixParDefaut('Selectionnez'); ?>>--- Sélectionnez ---</option> 
<option value="DSI" <?php echo choixParDefaut('DSI'); ?>>DSI</option> 
<option value="DAN" <?php echo choixParDefaut('DAN'); ?>>DAN</option> 
<option value="SCT" <?php echo choixParDefaut('SCT'); ?>>SCT</option> 
<option value="CGN" <?php echo choixParDefaut('CGN'); ?>>CGN</option> 
</select>
</form>

<!-- Formulaire : text -->
 <form for="Nom" method="post" action="./selection.php" style="height:19px display:inline-block"> Nom :
 <input name="nom" type="text" />
<?php
echo htmlspecialchars($_POST['nom']);

?>
 <input type="submit" id="chercher" name="chercher" value="Chercher"/>
 </form>
<?php 
// Création de la fonction 
function choixParDefaut($secteur)
{
// On crée une variable (vide par défaut) que l'on retournera à la fin 
$par_defaut = '';

// Si le visiteur a choisi un secteur
if (isset($_POST['secteur']))
{
// Si ce secteur correspond au secteur que l'on est en train de traiter
if ($_POST['secteur'] == $secteur)
{
// Alors on modifie la variable que l'on retournera et on lui met selected 
$par_defaut='selected="selected"';
}
}
// On ne retourne rien si ce n'était pas le secteur choisi, selected si c'était le bon secteur
return $par_defaut;
} 
// -------------- Fin de la fonction --------------- 

if (isset($_POST["secteur"] ) && isset($_POST["nom"])) 
{

$sql = "select id, nom, prenom, type_droit, status, secteur from maxusergroups where status = 'bloque' and id = '".$_POST["nom"]."' and secteur = '".$_POST["secteur"]."';";
$resultat = mysql_query($sql, $link) or die ('Erreur : '.mysql_error());
$nb_users = mysql_num_rows($resultat);

echo '<table>'."\n";
echo '<tr>';
echo '<td>Identifiant</td>';
echo '<td>Nom</td>';
echo '<td>Prenom</td>';
echo '<td>Type_droit</td>';
echo '<td>Status</td>';
echo '<td>Secteur</td>'; 
echo '</tr>'."\n";
while($row = mysql_fetch_array($resultat)) {
echo '<tr>';
echo '<td>'.$row["id"].'</td>';
echo '<td>'.$row["nom"].'</td>';
echo '<td>'.$row["prenom"].'</td>';
echo '<td>'.$row["type_droit"].'</td>';
echo '<td>'.$row["status"].'</td>';
echo '<td>'.$row["secteur"].' </td>'; 
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo '<center>Pas d\'enregistrements dans cette table...</center>';
 // on libère le résultat
mysql_free_result($resultat);
?>