Vous n'êtes pas identifié(e).
Pages : 1
Merci beaucoup j'ai compris. Du coup j'ai corrigé mon erreur et ça donne. merci.
si au moins dans mon echo il m'affichait 1920 qui est ici la valeur par defaut mais non il m'affiche le nombre 1. je sais pas pourquoi.
Merci de m'aider,
1 - le formulaire est en post
2- le bouton de soumission est dans le formulaire
3- le $selected est effectivement mis à vide. au depart aussi il est à vide.
je te poste tout mon code pour que tu comprennes mieux ma logique
<?php
include("fonctions.connect.php");
echo "<select name='annees' >";
$selected='';
for($i=1920; $i<=2009; $i++)
{
// Affichage de la ligne
echo "<option value='". $i."' ".$selected.">".$i." </option >";
// Remise à zéro de $selected
$selected='';
}
echo "</select>";
$an=isset($_POST['annees']);
echo "$an";
?>
</form>
<?php
// Si une recherche a été effectuée (bouton "Rechercher" cliqué) :
if (isset($_POST['recherche'])) {
$connect_db = connect();
// Recherche des étudiants dans la base de données
// début de construction de la requête : par défaut, on sélectionne tous les étudiants
$requete = "SELECT nom, prenom FROM etudiant ";
// éventuelle restriction de la recherche selon le nom de l'étudiant saisi
// taille de la selection
if (!empty($_POST['nom'])) {
$nom = mysql_real_escape_string($_POST['nom']);
$requete .= "WHERE nom = '$nom' ";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete .= "ORDER BY nom, prenom ;";
// exécution de la requête sur la base de données
$etudiants = mysql_query($requete)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo '<h2>Résultat</h2>';
$etudiant = mysql_fetch_array($etudiants);
// cas où la recherche n'a donné aucun résultat
if (!$etudiant)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do/*
echo "<p>".htmlspecialchars(strtoupper($etudiant['nom']))." "
.htmlspecialchars($etudiant['prenom'])." </p>\n";*/
{$lib_nom=htmlspecialchars(strtoupper($etudiant['nom']))." ".$etudiant['prenom'];
?>
<a href="fiche_etudiant.php?fiche=<?php echo "$lib_nom";?>"><?php echo $lib_nom; ?></a><br>
<?php
}
while ($etudiant = mysql_fetch_array($etudiants));
close();
}
?>
</body>
</html>
voilà merci
Bonjour,
je voudrais pouvoir recupérer la valeur de l'attribut name de l'input du formulaire que j'ai fait mais je n'y arrive pas. mon code est celui-ci
quand je fais ceci pour recupérer le contenu de la liste deroulante selectionné ou si je fais echo la variable $annees=$_POST['annees'] je n'ai rien.
quand cette liste deroulante n'est pas dynamique je le fais aisément mais là je ne comprends pas pour quoi ça ne donne pas.
Merci
Je ferais plus attention
tu es le meilleur Jc Merci beaucoup
En fait je réecris mon code ce qui fait que je change les variables, ce n'est pas un soucis. merci
et que representerait id et page. moi j'ai plutôt mis nom= à la plade de id= et j'ai cette erreur
Parse error: syntax error, unexpected ' ', expecting while (T_WHILE) in C:\Program Files\EasyPHP-12.0\www\my portable files\devoir3\recherche_etudiants_par_nom_v11.php on line 63
voilà le code:
Ce n'est pas ça le problème si j'enlève le <a .......</a> ça marche très bien. le problème n'est pas au niveau des accolades surement au niveau de la syntaxe.
le voilà allegé.
<?php
// Si une recherche a été effectuée (bouton "Rechercher" cliqué) :
if (isset($_POST['recherche'])) {
// connexion au serveur MySQL
$base_id = mysql_connect("localhost", "*********", "**********")
or exit("<p>Impossible de se connecter au serveur MySQL : ".mysql_error()."</p>\n");
// sélection de la base
$selection = mysql_select_db("exercices_php", $base_id)
or exit("<p>Impossible de sélectionner la base : ".mysql_error()."</p>\n");
// Recherche des étudiants dans la base de données
// début de construction de la requête : par défaut, on sélectionne tous les étudiants
$requete = "SELECT nom, prenom FROM etudiant ";
// éventuelle restriction de la recherche selon le nom de l'étudiant saisi
if (!empty($_POST['nom'])) {
$nom = mysql_real_escape_string($_POST['nom']);
$requete .= "WHERE nom = '$nom' ";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete .= "ORDER BY nom, prenom ;";
// exécution de la requête sur la base de données
$etudiants = mysql_query($requete)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo "<h2>Résultat</h2>\n";
$etudiant = mysql_fetch_array($etudiants);
// cas où la recherche n'a donné aucun résultat
if (!$etudiant)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>\n";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do
?>
<a href="recherche_etudiants.php?<?php echo "<p>".htmlspecialchars(strtoupper($etudiant3['nom']))." "
.htmlspecialchars(strtoupper($etudiant3['prenom']))." </p>\n";?>"></a><br>
<?php
while ($etudiant = mysql_fetch_array($etudiants));
mysql_close($base_id);
}
?>
</body>
</html>
Ok j'ai fait une erreur en recopiant, mais mon erreur demeure. je n'arrive pas à afficher mon resultat sous forme de lien .
Bonjour à tous,
j'ai cette diffculté je voudrais que lorsque je fais ma recherche et que j'obtient un resultat que ce resultat soit presenté sous forme de lien. je l'ai déjà essayé avec une autre reqête ça donne mais avec celle ci-dessous ça ne donné pas, j'ai cette erreur : Parse error: syntax error, unexpected ' <a href="recherche_etudi', expecting while (T_WHILE) in C:\Program Files\EasyPHP-12.0\www\my portable files\devoir3\recherche_etudiants.php on line 230.
voici le code:
<?php
// Si une recherche a été effectuée (bouton "Rechercher" cliqué) :
if (isset($_POST['recherche'])) {
// connexion au serveur MySQL
$base_id = mysql_connect("localhost", "script_php", "zh6tjPp6T56N4dbF")
or exit("<p>Impossible de se connecter au serveur MySQL : ".mysql_error()."</p>\n");
// sélection de la base
$selection = mysql_select_db("exercices_php", $base_id)
or exit("<p>Impossible de sélectionner la base : ".mysql_error()."</p>\n");
// Recherche des étudiants dans la base de données
// début de construction de la requête : par défaut, on sélectionne tous les étudiants
$requete = "SELECT etudiant.nom, etudiant.prenom FROM etudiant ";
$requete2 = "SELECT distinct (etudiant.nom), etudiant.prenom FROM etudiant,formation,pays ";
// éventuelle restriction de la recherche selon le nom de l'étudiant saisi
/*if (!empty($_POST['nom'])) {
$nom = mysql_real_escape_string(htmlspecialchars_decode($_POST['nom']));
//$formation=$_POST['formation'];
$requete .= "WHERE etudiant.nom = '$nom'";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete .= "ORDER BY nom, prenom ;";
// exécution de la requête sur la base de données
$etudiants = mysql_query($requete)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo "<h2>Résultat</h2>\n";
$etudiant = mysql_fetch_array($etudiants);
// cas où la recherche n'a donné aucun résultat
if (!$etudiant)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>\n";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do
echo "<p>".htmlspecialchars(strtoupper($etudiant['nom']))." "
.htmlspecialchars($etudiant['prenom'])." </p>\n";
while ($etudiant = mysql_fetch_array($etudiants));*/
if ($_POST['formation'] and empty($_POST['nom']) and $_POST['pays'] and $_POST['année1'] and $_POST['année2']) {
$formation=$_POST['formation'];
$pays=$_POST['pays'];
$année1=$_POST['année1'];
$année2=$_POST['année2'];
$requete2.= "WHERE formation.id_formation = etudiant.id_formation AND pays.id_pays=etudiant.id_pays AND extract(year FROM etudiant.date_naissance) BETWEEN '$année1' and '$année2' AND pays.nom= '$pays' AND formation.nom = '$formation'";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete2 .= "ORDER BY etudiant.nom,etudiant.prenom ;";
// exécution de la requête sur la base de données
$etudiants2 = mysql_query($requete2)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo "<h2>Résultat2</h2>\n";
$etudiant3 = mysql_fetch_array($etudiants2);
if (!$etudiant3)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>\n";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do
echo "<p>".htmlspecialchars(strtoupper($etudiant3['nom']))." "
.htmlspecialchars(strtoupper($etudiant3['prenom']))." </p>\n";
while ($etudiant3 = mysql_fetch_array($etudiants2));
<?php
// Si une recherche a été effectuée (bouton "Rechercher" cliqué) :
if (isset($_POST['recherche'])) {
// connexion au serveur MySQL
$base_id = mysql_connect("localhost", "script_php", "zh6tjPp6T56N4dbF")
or exit("<p>Impossible de se connecter au serveur MySQL : ".mysql_error()."</p>\n");
// sélection de la base
$selection = mysql_select_db("exercices_php", $base_id)
or exit("<p>Impossible de sélectionner la base : ".mysql_error()."</p>\n");
// Recherche des étudiants dans la base de données
// début de construction de la requête : par défaut, on sélectionne tous les étudiants
$requete = "SELECT etudiant.nom, etudiant.prenom FROM etudiant ";
$requete2 = "SELECT distinct (etudiant.nom), etudiant.prenom FROM etudiant,formation,pays ";
// éventuelle restriction de la recherche selon le nom de l'étudiant saisi
/*if (!empty($_POST['nom'])) {
$nom = mysql_real_escape_string(htmlspecialchars_decode($_POST['nom']));
//$formation=$_POST['formation'];
$requete .= "WHERE etudiant.nom = '$nom'";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete .= "ORDER BY nom, prenom ;";
// exécution de la requête sur la base de données
$etudiants = mysql_query($requete)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo "<h2>Résultat</h2>\n";
$etudiant = mysql_fetch_array($etudiants);
// cas où la recherche n'a donné aucun résultat
if (!$etudiant)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>\n";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do
echo "<p>".htmlspecialchars(strtoupper($etudiant['nom']))." "
.htmlspecialchars($etudiant['prenom'])." </p>\n";
while ($etudiant = mysql_fetch_array($etudiants));*/
/*if ($_POST['formation'] and empty($_POST['nom']) and $_POST['pays'] and $_POST['année1'] and $_POST['année2']) {
$formation=$_POST['formation'];
$pays=$_POST['pays'];
$année1=$_POST['année1'];
$année2=$_POST['année2'];
$requete2.= "WHERE formation.id_formation = etudiant.id_formation AND pays.id_pays=etudiant.id_pays AND extract(year FROM etudiant.date_naissance) BETWEEN '$année1' and '$année2' AND pays.nom= '$pays' AND formation.nom = '$formation'";
}
// fin de construction de la requête : classement des résultats
// par ordre alphabétique des noms, puis des prénoms
$requete2 .= "ORDER BY etudiant.nom,etudiant.prenom ;";
// exécution de la requête sur la base de données
$etudiants2 = mysql_query($requete2)
or exit("<p>La requête au serveur MySQL a échoué : ".mysql_error()."</p>\n");
// Affichage des étudiants trouvés
echo "<h2>Résultat2</h2>\n";
$etudiant3 = mysql_fetch_array($etudiants2);
if (!$etudiant3)
echo "<p>Aucun étudiant ne correspond à votre recherche.</p>\n";
// autre cas : il y a au moins un étudiant à afficher
else
// écriture d'un paragraphe par étudiant trouvé
do
?>
[b]<a href="recherche_etudiants.php?<?php echo "<p>".htmlspecialchars(strtoupper($etudiant3['nom']))." "
.htmlspecialchars(strtoupper($etudiant3['prenom']))." </p>\n";?>"></a><br>[/b]
<?php
while ($etudiant3 = mysql_fetch_array($etudiants2));
}
?>
</body>
</html>
je ne sais pas si je m'y prend bien. quelqu'un peut-il m'aider?
Pages : 1