Recherche depuis un formulaire
Bonjour,
je souhaite récupérer une information depuis un formulaire et m'en servir pour établir une recherche dans ma table Mysql :
Merci de votre aide.
Partie de mon code / formulaire HTML :
Code:
1 2 3 4 5 6 7 8 9 10 11
| ....
<form method="post" action="http://fazpedro.free.fr/rechercher.php">
<fieldset>
<legend> Recherche dans l'agenda des évènements </legend>
<p class="double">
<label for="ev1">Type d'évènement</label>
<select name="evenement1" class="ev">
<option value="Tous" selected="selected">Tous</option>
<option value="Concert">Concert</option>
<option value="Spectacle" >Spectacle</option>
.... |
mon script PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?php
//Données pour la connexion à la base de données
$nom_du_serveur ="sql.free.fr";
$nom_de_la_base ="user";
$nom_utilisateur ="user";
$passe ="mdp";
//Connexion à la base de données
$db = mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base",$db) OR die( "ERREUR de connexion : " . mysql_error () );
//Si il y a une erreur, on crie ^^
if (!$sql) { die ( 'Erreur de requête : ' . mysql_error() ); }
//Si tout va bien
else
// requête SQL
$select = 'SELECT * FROM evenement WHERE type_evenement = '$_POST['evenement1']."';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($requete);
//Déconnexion
mysql_close();
?> |
ma table evenement :
Champ : type_evenement nom
Type : varchar(255) Interclassement : utf8_general_ci
Recherche depuis un formulaire
@ torvalds17
j'ai bien modifié la ligne mais l'erreur se trouve sur la ligne suivante :
Code:
1 2
|
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); |
Message d'erreur :
Parse error: syntax error, unexpected '{' in /mnt/154/sdc/8/e/fazpedro/creation.php on line 20
Recherche depuis un formulaire
j'ai modifié mon PHP ainsi mais je n'obtiens rien (pas de message d'erreur et une page blanche...) merci de votre aide !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
//Données pour la connexion à la base de données
$nom_du_serveur ="sql.free.fr";
$nom_de_la_base ="user";
$nom_utilisateur ="user";
$passe ="mdp";
//Connexion à la base de données
$db = mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base",$db) OR die( "ERREUR de connexion : " . mysql_error () );
// requête SQL
$select = "SELECT * FROM evenement WHERE type_evenement = '".$_POST['evenement1']."'";
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($result);
//Déconnexion
mysql_close();
?> |
Recherche depuis un formulaire
j'ai indiqué ceci :
Code:
1 2 3
| // on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($result);
print_r($data) |
voici le message d'erreur :
Parse error: syntax error, unexpected T_STRING in rechercher.php on line 28
=> ligne 28 : mysql_close();
@ torvalds17 : j'utilise Notepad++ : que me conseilles-tu ?
Merci.
Recherche depuis un formulaire
Voici le code PHP rectifié et qui fonctionne bien :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if IE]>
<style type="text/css">
/* placer les corrections pour toutes les version d'IE dans ce commentaire conditionnel */
#sidebar1, #sidebar2 { padding-top: 30px; }
#mainContent { zoom: 1; padding-top: 15px; }
/* la propriété du proprétaire zoom ci-dessus transmet à IE l'attribut hasLayout nécéssaire pour éviter plusieurs bogues */
</style>
<![endif]-->
</head>
<body>
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
<?php include('lateral.php'); ?> <!-- insère les côtés gauche et droite -->
<div id="mainContent">
<table>
<tr>
<td><b />Type Evenement</td><td><b />Type de lieu</td><td><b />Secteur</td><td><b />Heure</td>
<td><b />Tarif</td><td><b />Lieu</td><td><b />Nom</td><td><b />Description</td>
</tr>
<?php
// on se connecte à la base de données
mysql_connect("sql.free.fr","user","mdp");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données de connections.');
mysql_query("SET NAMES UTF8");
//On sélectionne tout dans la table par "id" croissant
//$select = "SELECT * FROM evenement WHERE type_evenement = '".$_POST['evenement1']."'";
$select = "SELECT * FROM evenement WHERE type_evenement LIKE '".$_POST['evenement1']."'";
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($result) == 0)
{
echo '<p>Aucun commentaire!</p>';
}
//Si il y a des entrées
else
{
//On fait une boucle pour sortir toutes les entrées
while($affiche = mysql_fetch_array($result))
{
//On affiche les entrées
echo
'<p>'
.'<td>'.'<h4/>'.$affiche["type_evenement"].'</td>'
.'<td>'.'<h4/>'.$affiche["type_etab"].'</td>'
.'<td>'.'<h4/>'.$affiche["secteur"].'</td>'
.'<td>'.'<h4/>'.$affiche["heure"].'</td>'
.'<td>'.'<h4/>'.$affiche["tarif"].'</td>'
.'<td>'.'<h4/>'.$affiche["lieu"].'</td>'
.'<td>'.'<h4/>'.$affiche["nom"].'</td>'
.'<td>'.'<h4/>'.$affiche["description"]
.'<tr>'.'</tr>';
//On ferme la boucle while
}
//on ferme le else
}
// Fermeture de la connexion à la base de données
mysql_close();
?>
</table>
</div>
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page -->
</body>
</html> |