PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 23-05-2012 21:55:11

Elamnia
Membre
Inscription : 23-05-2012
Messages : 3

Requete php dans un formulaire

Bonjour,

Je suis une vraie débutante en php et j'ai un projet à faire j'ai un peu de mal.
On a 2bases de données ayant un seul champ de colonne en commun. Nous nous servons de mySQL/esayPHP. Nous devons faire une page internet qui permet d'interroger les bases de données, il y a trois champs demandé dont un en menu déroulant, les 2 autres sont des champs vides à écrire par l'utilisateur. Ces 3champs sont sous forme d'un tableau.

J'ai bien tenté de faire des requêtes mais je ne comprends pas comment on peut demander de chercher les 3 informations demandés dans les 3 cases disponibles. Existe-t-il un truc, une formulation pour dire de chercher l'info tapée dans les champs mis a disposition??
Et cette requete, une fois trouvée, est-elle a mettre dans la case du tableau correspondant??

J'espère avoir été claire car il est dur de trouver les mots pour quelque chose qu'on ne comprend pas vraiment. En tout cas, merci pour votre aide.

Hors ligne

#2 24-05-2012 05:15:57

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Requete php dans un formulaire

Saluton,

Nicolas Boileau L'Art Poétique Chant 1 a écrit :

Ce qui se conçoit bien s'énonce clairement et les mots, pour le dire, arrivent aisément

Cette citation pour te confirmer qu'hélas tes espoirs d'avoir été claire sont vains.
Il convient, pour commencer d'utiliser les bons termes.
Une base de données c'est, pour faire simple, un ensemble de tables, une table est un ensemble de lignes ayant toutes la même structure de colonnes.
Ensuite, un formulaire est construit par le serveur PHP dans une page envoyée au navigateur via HTTP, lorsque l'utilisateur soumet sa saisie (bouton de type="transmit") HTTP retourne les données au script PHP désigné par l'attribut action de la balise <form> dans une variable globale $_POST si l'attribut method de la balise <form> est "post" et $_GET si cet attribut a pour valeur "get".
Quand tu dis que dans ton formulaire il y a 3 champs, dont un menu déroulant, et que ces champs sont présentés sous forme d'un tableau, s'agit-il bien d'un tableau HTML et n'y-at-il qu'une seule ligne <tr> à ce tableau avec 3 <td></td> ?
Le plus simple serait quand même que tu nous fasses voir ce que tu as déjà écrit :
- le script générateur du formulaire
- et le script de traitement du formulaire retourné par l'utilisateur.
Amike


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 28-05-2012 15:39:10

Elamnia
Membre
Inscription : 23-05-2012
Messages : 3

Re : Requete php dans un formulaire

Désolé que mes efforts soient vain et merci d'avoir malgré tout tenté de me répondre. Depuis le jour où j'ai écrit j'ai un peu avancé et maintenant je n'arrive pas à trouver les bonnes requetes pour que l'on me renvoi les bonnes données.
Voici en 1er mon générateur de formulaire:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[url]http://www.w3.org/TR/html4/loose.dtd[/url]">
<html>
<head>
<title>Bases de données MutDB</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> </head>
<body bgcolor=#99CCFF>
<p>
<center><img src= "imagepdb.PNG " align='center'   /> </center>
</p>
<center>


</br>

<?php
@mysql_connect('localhost','root')or die('connection error');
@mysql_select_db('mutdb')or die('unable to find the database');
$list=@mysql_query('select code_pdb from infos_pdb');
$num=@mysql_num_rows($list);
echo "Nombres de fichiers pdb: <b>$num</b>";

@mysql_close()


?>  </br>

<?php
@mysql_connect('localhost','root') or die('connection error');
@mysql_select_db('mutdb')or die('unable to find the database');
$list2=@mysql_query('select mutation from infos_mutation') ;
$info=@mysql_num_rows($list2) ;
echo "Nombres d'informations : <b>$info</b>";

@mysql_close()


?>


<table border="1" align='center'>
<form action="affiche_form_simple.php" method="POST">
<tr>
<td><center>Code PDB:

<select name="code_pdb">
<option value=" "selected> </option>
<?php
@mysql_connect('localhost','root') or die('connection error');
@mysql_select_db('mutdb')or die('unable to find the database');
$requete='select distinct code_pdb from infos_pdb';
$resultat=@mysql_query($requete);
while($codepdbb=@mysql_fetch_array($resultat)){
    echo'<option value="'.$codepdbb['code_pdb'].'">'.$codepdbb['code_pdb'].'</option>'."\n";
}
@mysql_close() ;
?>      </br>

</select>
</center>
</td></tr>

<tr><td>
<center>
Mutation: <input name="mutation" size="17" value="A405V">  </center>
</td></tr>
<tr><td><center>
Uniprot:
<select name="num_ac">
<option value=" "selected> </option>
<?php
@mysql_connect('localhost','root') or die('connection error');
@mysql_select_db('mutdb')or die('unable to find the database');
$uniprot='select distinct num_ac from infos_pdb';
$codeuni=@mysql_query($uniprot);
while($unicode=@mysql_fetch_array($codeuni)){;
    echo'<option value="'.$unicode['num_ac'].'">'.$unicode['num_ac'].'</option>'."\n";
}
@mysql_close() ;
?> </br>
</center> </select>
</td></tr>

<tr><td>
<center>Sequence: <input name="sequence" size="17" value="NADLR"> </center>
</td></tr>
</table>
<input type="submit" style="font-size: 9 px" value="Soumettre">
</form> </br>


</body>
</html>

Et voici mon traitement de formulaire

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[url]http://www.w3.org/TR/html4/loose.dtd[/url]">
<html>
<head>
<title>affich_form_simple</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body>

<?php
//include ("mutdb.php");
@mysql_connect('localhost','root')or die('connection error');
@mysql_select_db('mutdb')or die('unable to find the database');
echo "Code PDB :" .$_POST['code_pdb'];
echo "<br>";
echo "Mutation:". $_POST['mutation'];
echo "<br>";
echo "Code Uniprot:". $_POST['num_ac'];
echo "<br>";
echo "Sequence:". $_POST['sequence'];
echo "<br>";

echo"<table> ";
echo"<tr><td>Code PDB</td> "  ;
echo"<td>Code Uniprot</td><td>Sequence</td></tr>"  ;
echo"<tr>" ;
echo"<td>" ;

//@mysql_connect('localhost','root') or die('connection error');
//@mysql_select_db('mutdb')or die('unable to find the database');
$query_num='select code_pdb from infos_pdb where num_ac="'.$_POST['num_ac'].'"';
$query_result_num=@mysql_query($query_num);
while($row=@mysql_fetch_array($query_result_num)){
    echo $row['code_pdb']."\n";
    echo ("<br> \n");
    }

echo"</td>";
echo"<td>" ;
//@mysql_connect('localhost','root') or die('connection error');
//@mysql_select_db('mutdb')or die('unable to find the database');
$query_pdb='select num_ac from infos_pdb where code_pdb="'.$_POST['code_pdb'].'"';
$query_result_pdb=@mysql_query($query_pdb);
while($row=@mysql_fetch_array($query_result_pdb)){
    echo$row['num_ac']."\n";
    echo("<br> \n");
    }

echo"</td>" ;
echo"<td>" ;
//@mysql_connect('localhost','root') or die('connection error');
//@mysql_select_db('mutdb')or die('unable to find the database');
$query_sequence='select sequence from infos_mutation where num_ac="'.$_POST['num_ac'].'"';
$query_result_sequence=@mysql_query($query_sequence);

while($row=@mysql_fetch_array($query_result_sequence)){
    echo$row['sequence']."\n";
    echo("<br> \n");
    }

@mysql_close() ;
?>
</td></tr>
</table>
</body>
</html>

Hors ligne

#4 28-05-2012 16:54:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Requete php dans un formulaire

Je ne sais pas qui t'a préconisé de préfixer tes appels aux fonctions PHP avec @ (pour masquer les messages d'erreurs et les avertissements), mais, surtout pour une débutante, c'est une très mauvaise pratique.
C'est un peu comme si un moniteur d'auto-école demandait à ses apprentis conducteurs de ne pas tenir compte de la signalisation voire de conduire en fermant les yeux.

Sur le fond du travail je n'ai pas le temps d'approfondir aujourd'hui, mais je pense que nous aurons besoin des résultats de SHOW CREATE TABLE sur chacune des tables interrogées par tes SELECT.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 28-05-2012 17:04:02

Elamnia
Membre
Inscription : 23-05-2012
Messages : 3

Re : Requete php dans un formulaire

Nos professeurs nous on donné des exemples de code qu'on pouvait réutiliser et dans tous il y avait ça. On a eu que 2cours d'informatique et après il fallait faire notre projet un peu à l'aveugle.
Mais sinon ne t'embête pas. J'espère qu'ils reverront les projets à la baisse pour les suivants..

Hors ligne

Pied de page des forums