Vous n'êtes pas identifié(e).
Pages :: 1
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
Saluton,
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
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:
</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
<?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
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
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
Pages :: 1