Affiche array au lieu du titre
Fermé
Zetomate
Messages postés
11
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
2 août 2006
-
2 août 2006 à 09:03
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 - 2 août 2006 à 10:48
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 - 2 août 2006 à 10:48
A voir également:
- Affiche array au lieu du titre
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Dans cette présentation, sarah avait encadré directement le titre de certaines diapositives avant d'automatiser cette mise en forme pour tout le document. sur quelles diapositives avait-elle encadré directement le titre ? ✓ - Forum Bureautique
- Titre de l'adresse ✓ - Forum Internet / Réseaux sociaux
- Présentation d'une diapositive - Forum Bureautique
- Je cherche une chanson dont je ne connais pas le titre - Guide
7 réponses
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
2 août 2006 à 09:16
2 août 2006 à 09:16
Salut. Si tu veux récupérer les mots, ne fais pas comme ça, mais essaie plutôt ceci :
et le code PHP sera comme ça :
table width="100%" border="1" align="left" bordercolor="#000000"> <tr align="left"> <td width="10%"> <input type="checkbox" name="request[]" value="Mois" />Mois </td> <td width="10%"> <input type="checkbox" name="request[]" value="Année" />Année </td> <td width="9%"> <input type="checkbox" name="request[]" value="Dépot" />Dépot</td> <td width="10%"> <input type="checkbox" name="request[]" value="Activité" />Activité</td> <td width="9%"> <input type="checkbox" name="request[]" value="Services" />Services</td> <td width="11%"> <input type="checkbox" name="request[]" value="Client" />Num Client </td> <td width="10%"> <input type="checkbox" name="request[]" value="Chapitre" />Chapitre</td> <td width="9%"> <input type="checkbox" name="request[]" value="Famille" />Famille</td> <td width="10%"> <input type="checkbox" name="request[]" value="Article" />Code Art.</td> <td width="12%"> <input type="checkbox" name="request[]" value="Représentant" />Représentant</td>
et le code PHP sera comme ça :
$tab_request = $_POST['request']; foreach ($tab_request as $request) echo "<TD>".$request."</TD>";
Zetomate
Messages postés
11
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
2 août 2006
2 août 2006 à 09:33
2 août 2006 à 09:33
Ca ne marche pas car j'utilise mes valeurs de request avant.
Voila tous mon code:
Code php:
Voila tous mon code:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Recherche statistique sur GUILLEMET MATERIAUX</title>
<style type="text/css">
<!--
.Style1 {
font-size: 14px;
font-style: italic;
font-family: Geneva, Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<?php
$dbc=mysql_connect('localhost','root',''); //connexion mysql
mysql_select_db('essais'); //selection de la base
php?>
<body>
<div><img src="LogoWeb.jpg" hspace="0" vspace="0" border="0" / ></div>
<div align="center">
<h1>Vous êtes sur la page de recherche de GUILLEMET MATERIAUX </h1>
</div>
<div align="center" class="Style1" >
La première ligne de ce tableau permet de sélectionner les champs que vous voulez faire apparaitre dans votre résultat.
La seconde ligne permet de choisir les diffférents critères de selection nécessaires à votre demande.<br />
ATTENTION !!!, ne pas oubliez pas de cocher les cases correspondantes à vos critères de recherche.
</div>
<BR /><BR />
<form method="post" action="req.php">
<table width="100%" border="1" align="left" bordercolor="#000000">
<tr align="left">
<td width="10%">
<input type="checkbox" name="request[STDFMM]" value="1" />Mois </td>
<td width="10%">
<input type="checkbox" name="request[STDFAA]" value="1" />Année </td>
<td width="9%">
<input type="checkbox" name="request[STDEPO]" value="1" />Dépot</td>
<td width="10%">
<input type="checkbox" name="request[STACTI]" value="1" />Activité</td>
<td width="9%">
<input type="checkbox" name="request[STSERV]" value="1" />Services</td>
<td width="11%">
<input type="checkbox" name="request[STCLIE]" value="1" />Num Client </td>
<td width="10%">
<input type="checkbox" name="request[STCHAP]" value="1" />Chapitre</td>
<td width="9%">
<input type="checkbox" name="request[STZLB1]" value="1" />Famille</td>
<td width="10%">
<input type="checkbox" name="request[STNART]" value="1" />Code Art.</td>
<td width="12%">
<input type="checkbox" name="request[STREPR]" value="1" />Représentant</td>
</tr>
<tr>
<td height="46">
<input type="checkbox" name="criteria[STDFMM]" value="1" />
<select name="keywords[STDFMM]" >
<option value='0'>Mois</option>
<?php
$res = mysql_query('select distinct STDFMM from statvene');
while ($stdfmm = mysql_fetch_row($res))
{
echo '<option value="'.$stdfmm[0].'">'.$stdfmm[0].' </option>';
}
?>
</select></td>
<td height="46">
<input type="checkbox" name="criteria[STDFAA]" value="1">
<select name="keywords[STDFAA]">
<option value='0'>Année</option>
<?php
$res = mysql_query('select distinct STDFAA from statvene');
while ($stdfaa = mysql_fetch_row($res))
{
echo '<option value="'.$stdfaa[0].'">'.$stdfaa[0].' </option>';
}
?>
</select></td>
<td>
<input type="checkbox" name="criteria[STDEPO]" value="1" />
<select name="keywords[STDEPO]">
<option value="0">--</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
</select>
</td>
<td height="46">
<input type="checkbox" name="criteria[STACTI]" value="1" />
<select name="keywords[STACTI]">
<option value="0">Act</option>
<?php
$res = mysql_query('select distinct STACTI from statvene');
while ($stacti = mysql_fetch_row($res))
{
echo '<option value="'.$stacti[0].'">'.$stacti[0].' </option>';
}
?>
</select></td>
<td height="46">
<input type="checkbox" name="criteria[STSERV]" value="1" />
<select name="keywords[STSERV]">
<option value="0">--</option>
<?php
$res = mysql_query('select distinct STSERV from statvene');
while ($stserv = mysql_fetch_row($res))
{
echo '<option value="'.$stserv[0].'">'.$stserv[0].' </option>';
}
?>
</select></td>
<td>
<input type="checkbox" name="criteria[STCLIE]" value="1" />
<input type="text" name="keywords[STCLIE]" size="7" />
</td>
<td>
<input type="checkbox" name="criteria[STCHAP]" value="1" />
<input type="text" name="keywords[STCHAP]" size="7" />
</td>
<td>
<input type="checkbox" name="criteria[STZLB1]" value="1" />
<input type="text" name="keywords[STZLB1]" size="5" />
</td>
<td>
<input type="checkbox" name="criteria[STNART]" value="1" />
<input type="text" name="keywords[STNART]" size="7" />
</td>
<td>
<input type="checkbox" name="criteria[STREPR]" value="1" />
<input type="text" name="keywords[STREPR]" size="7" />
</td>
</tr>
</table>
<br><br><br><br><br>
<p>
<input type="checkbox" name="order" value="1" />
Classé par :
<select name="Ordby">
<option value="">---</option>
<option value="STDFAA">Année</option>
<option value="STDFMM">Mois</option>
<option value="STDEPO">Dépot</option>
<option value="STACTI">Activité</option>
<option value="STSERV">Services</option>
<option value="STCLIE">Client</option>
<option value="STCHAP">Chapitre</option>
<option value="STZLB1">Famille</option>
<option value="STNART">Code Article</option>
<option value="STREPR">Représentant</option>
</select>
</p>
<div align="center">
<input name="submit" type="submit" value="Envoyer la requête" />
</div>
</form>
</body>
</html>
Code php:
<?php
$dbc=mysql_connect('localhost','root',''); //connexion mysql
mysql_select_db('essais'); //selection de la base
$whereclause = "";
foreach($_POST['criteria'] as $criterion => $value) {
$whereclause .= mysql_escape_string($criterion)."='".mysql_escape_string($_POST['keywords'][$criterion])."' AND ";
}
$whereclause = rtrim($whereclause," AND ");
$select = "";
foreach($_POST['request'] as $criterion => $value) {
$select .= mysql_escape_string($criterion)." , ";
}
$select = rtrim($select," , ");
// Fonction du ORDER BY
if ( isset ( $_POST['order'] ))
{ $order = "ORDER BY ".$_POST['Ordby']."";
} else $order = "" ; // ceci pour indiquer que ce critère n'est pas à prendre en compte !
$sql = "SELECT DISTINCT $select FROM statvene WHERE $whereclause $order ";
$res = mysql_query($sql) or die ('Erreur SQL : impossible d\'effectuer la requête : <br />'.$sql);
$total = mysql_num_rows($res);
if ($total) {
echo "<div><img src=\"LogoWeb.jpg\"></div>";
echo $sql;
echo"<table width=\"100%\" border=\"1\" align=\"left\" bordercolor=\"#000000\">
<tr>";
foreach($_POST['request'] as $criterion => $value) {
echo "<td>";
echo $_POST['request'];
echo "</td>";
}
echo "</tr>";
while($row = mysql_fetch_row($res)) {
echo "
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$row[3]</td>
<td>$row[4]</td>
<td>$row[5]</td>
<td>$row[6]</td>
<td>$row[7]</td>
<td>$row[8]</td>
<td>$row[9]</td>
</tr>";
}
}
echo "</table>";
?>
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
2 août 2006 à 09:51
2 août 2006 à 09:51
Je ne comprend pas pourquoi tu dis que ça ne marche pas. Pour la suite tu n'as pas besoin des valeurs de request ...
Zetomate
Messages postés
11
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
2 août 2006
2 août 2006 à 09:55
2 août 2006 à 09:55
Si tu regarde bien mon code php, j'utilise les valeurs de mes request pour créer le SELECT de ma requête en fonction des cases que j'ai cochées dans mon formulaire. Donc quand je fait ta manip, ma requete se transforme en SELCET 1,2,3 au lieu de prendre mes valeurs de request.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
2 août 2006 à 10:02
2 août 2006 à 10:02
Ok je vois, mais tu voulais récupérer les valeurs "Mois" "Année" et c'est le seul moyen que je vois pour le faire : tu affectes ça comme valeur au checkbox et tu le récupères par la suite en $_POST['request'], qui est alors un tableau (et non pas une simple variable).
N'empêche qu'il y a des trucs louches dans ton code, comme ça :
Tu fais as $criterion et tu utilises juste après $_POST['request'] ! Ca n'a pas de sens :) Peut-être que ton erreur vient de la alors ...
N'empêche qu'il y a des trucs louches dans ton code, comme ça :
foreach($_POST['request'] as $criterion => $value) {
echo "<td>";
echo $_POST['request'];
echo "</td>";
}
Tu fais as $criterion et tu utilises juste après $_POST['request'] ! Ca n'a pas de sens :) Peut-être que ton erreur vient de la alors ...
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
2 août 2006 à 10:03
2 août 2006 à 10:03
Rectification, c'est même sur que c'est ça, car vu ton écriture $_POST['request'] est un tableau (comme je l'ai dit juste au dessus). Et donc, quand tu demandes l'affichage il te met tout simplement Array car tu ne spécifies pas ce que tu veux voir dans le tableau ... Bref, utilise $criterion et ça devrait marcher :)
Zetomate
Messages postés
11
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
2 août 2006
2 août 2006 à 10:12
2 août 2006 à 10:12
Merci,
C'est ce que je venais de faire avant de lire ta réponse. Certes cela affiche l'ibtitule des champs des ma table que j'interroge, mais cela reste compréhensible.
Merci beaucoup quand même.
Sinon tu connaitrais pas une fonction pour que je puisse exporter mon fichier en csv sous excel?
C'est ce que je venais de faire avant de lire ta réponse. Certes cela affiche l'ibtitule des champs des ma table que j'interroge, mais cela reste compréhensible.
Merci beaucoup quand même.
Sinon tu connaitrais pas une fonction pour que je puisse exporter mon fichier en csv sous excel?
Darshu
Messages postés
303
Date d'inscription
lundi 30 janvier 2006
Statut
Membre
Dernière intervention
3 avril 2008
64
2 août 2006 à 10:48
2 août 2006 à 10:48
Non je ne sais pas faire ça, mais pour ton affichage tu peux faire un str_replace juste pour le nom des colonnes.
Regardes sur https://www.php.net/str_replace pour voir comment l'utiliser, c'est assez pratique, surtout en passant par des tableaux.
Regardes sur https://www.php.net/str_replace pour voir comment l'utiliser, c'est assez pratique, surtout en passant par des tableaux.