|
Publicité | |||||||||||||||||||||||
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Localisation: Le Mans
Messages: 26
|
Bonjour à tous.
N'étant pas expérimenté du tout en php je vous expose mon problème. J'ai un site web sur une asso de course à pied avec une bdd qui contient les résultats des coureurs. Je veux donc proposer aux gens de saisir leur nom et prenom et ca sort tous leurs résultats j'ai donc mon code html Code :
<fieldset id="fieldset1"> <legend>Coureur</legend> <label for="prenom">Prénom :</label> <input type="text" id="prenom" name="prenom" value="" /> <input type="text" id="nom" name="nom" value="" /> </fieldset> <div id="bouton"> <input type="submit" name="recherche" value="Rechercher" /> </div> J'ai fait des test avec ce code php Code :
<?php mysql_connect("localhost", "root", ""); mysql_select_db("result"); $result = mysql_query("SELECT date,temps,classement FROM coureur"); ?> <table> <tr> <td>Annee</td> <td>Temps</td> <td>Classement</td> </tr> <?php $row = mysql_fetch_row($result);?> <tr> <td><?php echo $row[0];?></td> <td><?php echo $row[1];?></td> <td><?php echo $row[2];?></td> </tr> </table> maintenant comment exécuter la requête pour prendre en compte ce que l'utilisateur va saisir (nom & prénom) dois-je faire une méthode post ou get? merci de m'aider et me dire ce qui ne va pas |
|
|
|
|
|
#7 (permalink) | |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Localisation: Le Mans
Messages: 26
|
Citation:
Sinon est ce que mon traitement php doit être dans la même div que le formulaire? merci pour ton aide en tout cas |
|
|
|
|
|
|
#8 (permalink) | ||
![]() Date d'inscription: juillet 2005
Messages: 9 946
|
Citation:
Cependant pour des questions de sécurité et de caractères spéciaux, on utilise pas directement les données reçues d'un formulaire. on les passe avant à la fonction mysql_real_escape_string() dans le cas d'une base mysql. Citation:
Le traitement peut être ou tu veux, dans le même fichier ou dans un autre selon la logique de ton code. Si tu fais boucler le formulaire sur lui même, il est par exemple logique de faire le traitement avant l'affichage du formulaire. |
||
|
|
|
|
|
#10 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Localisation: Le Mans
Messages: 26
|
c'est bon cela fonctionne!
maintenant des petit détails: 1- quand je clique sur chercher, le nom et prénom saisit disparait: comment les laisser afficher? 2-si la recherche ne retourne rien, comment envoyer un message pour dire qu'il n'y a pas de résultats 3-si la recherche retourne plusieurs résultats (donc plusieurs ligne), 1 seule ligne s'affiche: je dois donc avoir 1 probleme avec les echo row 4- comment afficher le tableau au moment du click? car pour le moment le tableau est déja affiché avant d'avoir appuyer sur le bouton merci en tout cas Dernière modification par tijocanard ; 03/02/2010 à 16h43. |
|
|
|
|
|
#11 (permalink) | |
![]() Date d'inscription: février 2008
Localisation: reims
Messages: 1 283
|
Citation:
après tu peux ajouter un if isset() etc ... 2° une fois ta requête exécuter tu as un mysql_num_rows($resultat) qui te donne le nombre d'enregistrement retourné il te suffit de faire un test si 0 alors message d'info 3° pour afficher l'ensemble des résultat il faut que tu boucle while ($row = mysql_fetch_row($result)) { ton affichage ...... } 4° tu conditionne ton code php avec un if isset($_POST["tavariable de formulaire"]) else { j'affiche le reste } |
|
|
|
|
|
|
#13 (permalink) | |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Localisation: Le Mans
Messages: 26
|
Je reviens vers vous car je bloque. Voila ou j'en suis
Code :
<?php mysql_connect("localhost", "root", ""); mysql_select_db("result"); if (isset($_POST['recherche'])) { echo '<table>'; echo '<tr>'; echo '<td>Annee</td>'; echo '<td>Temps</td>'; echo '<td>Classement</td>'; echo '</tr>'; if (isset($_POST['prenom']) and (isset($_POST['nom']))) { $result = mysql_query("SELECT date,temps,classement FROM coureur where nom='$_POST[nom]'and prenom='$_POST[prenom]'"); $nom = mysql_real_escape_string($_POST['nom']); $prenom = mysql_real_escape_string($_POST['prenom']); while ($row=mysql_fetch_row($result)) { echo '<tr>'; echo '<td>'; echo $row[0]; echo '</td>'; echo '<td>'; echo $row[1]; echo '</td>'; echo '<td>'; echo $row[2]; echo '</td>'; echo '</tr>'; } echo '</table>'; } } ?> 2- je n'arrive pas non plus à retenir le nom et prenom malgré cette aide Citation:
j'ai du mal placer mes instructions au bon endroits dans les boucles (if et while) merci pour votre aide Dernière modification par tijocanard ; 05/02/2010 à 10h31. |
|
|
|
|
|
|
#14 (permalink) | |
![]() Date d'inscription: février 2008
Localisation: reims
Messages: 1 283
|
Citation:
Code :
<form .....> <?php if(isset($_POST["nom"])) { echo "<input type='text' name='nom' value='".$_POST["nom"]."'/>";} else { echo "<input type='text' name='nom' />";} idem pour le prénom ..... </form> Code :
$result = mysql_query("SELECT date,temps,classement FROM coureur ....") if(mysql_num_rows($result) >= 1) { tu affiche la liste } else { echo "ton message comme quoi y a personne"; } |
|
|
|
|
|
|
#15 (permalink) | ||
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Localisation: Le Mans
Messages: 26
|
Citation:
Citation:
merci pour tout |
||
|
|
|
|
|
![]() |
||
Lancer une requete au moment d'un clic sur bouton
|
||
| Outils de la discussion | |
|
|