Formulaire a choix multiples.
lDarkRaven
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
lDarkRaven Messages postés 72 Date d'inscription Statut Membre Dernière intervention -
lDarkRaven Messages postés 72 Date d'inscription Statut Membre Dernière intervention -
Bonjour a vous tous,
Après quelques jours de recherches sur le net , X tentatives pour faire marcher mon script , je me retrouve au point mort sans solutions.
Je vous explique , actuelement , je doit créer un formulaire avec plusieurs critères (champs texte) , ainsi , l'utilisateur , remplit un ou plusieurs des 3 champs et on lui donne un resultat a sa recherche en fonctions de ce qu'il a marqué. la partie formulaire et fini.
Je vous copie-colle le script si cela peut vous aider :
<center><form method="post" action="./Resultat.php">
Type de document :<br>
<input type="text" Id = "Type" name="Type" size="15">
<center><form method="post" action="./Resultat.php">
Unité :<br>
<input type="text" Id = "Unit" name="Unit" size="15">
<center><form method="post" action="./Resultat.php">
Pgm avion :<br>
<input type="text" Id = "Pgm" name="Pgm" size="15">
<input type="submit" value="rechercher" alt="Lancer la recherche!">
</form></center>
Donc on arrive a mon problème , le script php ... lors de l'appuit sur le bouton rechercher , la page resultat ce charge , sans rien affiche , pas même une erreur.
script php :
<?php
$base=mysql_connect('localhost','root','root');
mysql_select_db('archivetest');
//recherche des résultats dans la base de données
$Type1 = '';
$Unite1 = '';
$Pgm1 = '';
if (isset($_POST['rechercher'])) {
$where = array();
if (isset($_POST['Type']) && strlen($Type1 = trim($_POST['Type']))) {
$where[] = "Type LIKE '%".mysql_real_escape_string($Type1)."%'";
}
if (isset($_POST['Unit']) && strlen($Unite1 = trim($_POST['Unite']))) {
$where[] = "Unit LIKE '%".mysql_real_escape_string($Unite1)."%'";
}
if (isset($_POST['Pgm']) && strlen($Pgm1 = trim($_POST['Pgm']))) {
$where[] = "Pgm LIKE '%".mysql_real_escape_string($Pgm1)."%'";
}
if (empty($where)):
echo 'Vous devez remplir au moins un des champs de recherche !';
else:
$sql = "SELECT Type_de_document, Unite, Pgm_avion
FROM contenu
WHERE ". implode(' AND ', $where) . "
LIMIT 10";
$result = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br /><b>'.mysql_error().'</b>'); ?>
<div class="article-result">
<?php if (mysql_num_rows($result) == 0): ?>
<h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>
<?php else: ?>
<table>
<thead>
<tr>
<th class="td_seach_titre">Type</th>
<th class="td_seach_titre">Unite</th>
<th class="td_seach_titre">Pgm</th>
</tr>
</thead>
<tbody>
<?php while($row = mysql_fetch_assoc($result)): ?>
<tr>
<td class="td_seach"><?php echo $row['Type1']; ?></td>
<td class="td_seach"><?php echo $row['Unite1']; ?></td>
<td class="td_seach"><?php echo $row['Pgm1']; ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<?php endif; ?>
</div>
<?php endif; ?>
<?php
}
?>
Je voulais connaitre votre avie sur ce script.
Pour information je travaille en local sous Xampp , PhpMyAdmin ...
La table a plus de 7000 lignes (oui grosse BDD)
Voila , en ésperant que quelqu'un puisse me donner une solution.
Passer une bonne fin de journée
Après quelques jours de recherches sur le net , X tentatives pour faire marcher mon script , je me retrouve au point mort sans solutions.
Je vous explique , actuelement , je doit créer un formulaire avec plusieurs critères (champs texte) , ainsi , l'utilisateur , remplit un ou plusieurs des 3 champs et on lui donne un resultat a sa recherche en fonctions de ce qu'il a marqué. la partie formulaire et fini.
Je vous copie-colle le script si cela peut vous aider :
<center><form method="post" action="./Resultat.php">
Type de document :<br>
<input type="text" Id = "Type" name="Type" size="15">
<center><form method="post" action="./Resultat.php">
Unité :<br>
<input type="text" Id = "Unit" name="Unit" size="15">
<center><form method="post" action="./Resultat.php">
Pgm avion :<br>
<input type="text" Id = "Pgm" name="Pgm" size="15">
<input type="submit" value="rechercher" alt="Lancer la recherche!">
</form></center>
Donc on arrive a mon problème , le script php ... lors de l'appuit sur le bouton rechercher , la page resultat ce charge , sans rien affiche , pas même une erreur.
script php :
<?php
$base=mysql_connect('localhost','root','root');
mysql_select_db('archivetest');
//recherche des résultats dans la base de données
$Type1 = '';
$Unite1 = '';
$Pgm1 = '';
if (isset($_POST['rechercher'])) {
$where = array();
if (isset($_POST['Type']) && strlen($Type1 = trim($_POST['Type']))) {
$where[] = "Type LIKE '%".mysql_real_escape_string($Type1)."%'";
}
if (isset($_POST['Unit']) && strlen($Unite1 = trim($_POST['Unite']))) {
$where[] = "Unit LIKE '%".mysql_real_escape_string($Unite1)."%'";
}
if (isset($_POST['Pgm']) && strlen($Pgm1 = trim($_POST['Pgm']))) {
$where[] = "Pgm LIKE '%".mysql_real_escape_string($Pgm1)."%'";
}
if (empty($where)):
echo 'Vous devez remplir au moins un des champs de recherche !';
else:
$sql = "SELECT Type_de_document, Unite, Pgm_avion
FROM contenu
WHERE ". implode(' AND ', $where) . "
LIMIT 10";
$result = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br /><b>'.mysql_error().'</b>'); ?>
<div class="article-result">
<?php if (mysql_num_rows($result) == 0): ?>
<h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>
<?php else: ?>
<table>
<thead>
<tr>
<th class="td_seach_titre">Type</th>
<th class="td_seach_titre">Unite</th>
<th class="td_seach_titre">Pgm</th>
</tr>
</thead>
<tbody>
<?php while($row = mysql_fetch_assoc($result)): ?>
<tr>
<td class="td_seach"><?php echo $row['Type1']; ?></td>
<td class="td_seach"><?php echo $row['Unite1']; ?></td>
<td class="td_seach"><?php echo $row['Pgm1']; ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<?php endif; ?>
</div>
<?php endif; ?>
<?php
}
?>
Je voulais connaitre votre avie sur ce script.
Pour information je travaille en local sous Xampp , PhpMyAdmin ...
La table a plus de 7000 lignes (oui grosse BDD)
Voila , en ésperant que quelqu'un puisse me donner une solution.
Passer une bonne fin de journée
A voir également:
- Formulaire a choix multiples.
- Whatsapp formulaire opposition - Guide
- Liste déroulante de choix excel - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
4 réponses
Bonjour
Première remarque : tu ouvres trois fois la balise <form> pour ton formulaire, ce n'est pas normal du tout. Mais je doute que ça empêche ton script de marcher.
As-tu fait un print_r($_POST) pour voir quelles données sont réellement reçues par ton script ? et un echo $sql pour voir quelle est la requête effectivement envoyée à MySQL ?
Première remarque : tu ouvres trois fois la balise <form> pour ton formulaire, ce n'est pas normal du tout. Mais je doute que ça empêche ton script de marcher.
As-tu fait un print_r($_POST) pour voir quelles données sont réellement reçues par ton script ? et un echo $sql pour voir quelle est la requête effectivement envoyée à MySQL ?
Alors essayons de coincer le problème :
echo 'avant'; $result = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br /><b>'.mysql_error().'</b>'); echo 'après'; die();?>
Je m'y attendais.
Peux-tu me dire comment tu as fait pour afficher $sql, alors que tu n'as pu le faire qu'à la place du echo 'avant'; ????
Peux-tu me dire comment tu as fait pour afficher $sql, alors que tu n'as pu le faire qu'à la place du echo 'avant'; ????
Alors pourquoi avais-tu dit qu'il s'affichait correctement ?
Est-ce que je peux te croire quand tu me dis qu'il y a bien les bonnes valeurs dans $_POST ?
désolé :/ Il n'y a pas de quoi, ça arrive tous les jours de dire qu'on a fait un essai alors qu'on ne l'a pas fait....
Désolé moi aussi, je n'ai plus de temps à te consacrer.
Est-ce que je peux te croire quand tu me dis qu'il y a bien les bonnes valeurs dans $_POST ?
désolé :/ Il n'y a pas de quoi, ça arrive tous les jours de dire qu'on a fait un essai alors qu'on ne l'a pas fait....
Désolé moi aussi, je n'ai plus de temps à te consacrer.
Oui j'ai fait un print_r($_POST) , le script recoit bien les bonnes données.
Pareillement pour echo $sql.