Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1671 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Communication Html/PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Communication Html/PHP

n°1725200
Cachouguin​teur
Yippie ki yay
Posté le 27-04-2008 à 18:42:06  profilanswer
 

Bonjour, j'ai un problème tout con mais que je n'arrive pas à résoudre :
 
En fait j'ai une page html où l'utilisateur rentre une séquence d'ADN, enfin peu importe, et je voudrais qu'à partir de cette page, 2 pages php lui soient associées et qu'on puisse choisir entre les 2 en cliquant sur 2 boutons "submit" différents...
 
Je sais pas si c'est possible
 
Merci

mood
Publicité
Posté le 27-04-2008 à 18:42:06  profilanswer
 

n°1725235
Cachouguin​teur
Yippie ki yay
Posté le 27-04-2008 à 20:11:39  profilanswer
 

personne n'a de petite idée?? dites moi si vous n'avez pas compris ce que je voulais dire :)

n°1725250
flo850
moi je
Posté le 27-04-2008 à 20:54:24  profilanswer
 

pas trop compris :d
 
tu peux  faire deux formulaire ,non?


---------------

n°1725251
CyberDenix
Posté le 27-04-2008 à 21:02:03  profilanswer
 

flo850 a écrit :

tu peux faire deux formulaire, non?


 
Pas mieux !
 
Au pire tu peux faire deux <input name='...' type='image' .../> (chacun correspondant à un bouton).
Lorsque tu testes la valeur, tu dois faire :

Code :
  1. if (isset($_POST['monnomdebouton_x']) || isset($_POST['monnomdebouton_y']) {
  2.  // monnomdebouton (bouton graphique) a été pressé par l'utilisateur ; x et y sont des coordonnées
  3. }


Message édité par CyberDenix le 27-04-2008 à 21:03:08

---------------
Directeur Technique (CTO)
n°1725261
Cachouguin​teur
Yippie ki yay
Posté le 27-04-2008 à 21:23:58  profilanswer
 

c'est à dire faire 2 formulaires?

n°1725276
Martius
il/lui
Posté le 27-04-2008 à 21:43:11  profilanswer
 

Non, mais utilises une page intermédiaire :
 

Code :
  1. <form id="form" method='post" action="page_intermediaire.php">
  2. (...)
  3. <input type="submit" name="mode1" value="Mode 1" />
  4. <input type="submit" name="mode2" value="Mode 2" />


 
page_intermediaire.php :

Code :
  1. if(isset($_POST['mode1']))
  2.     include('mode1.php');
  3. elseif(isset($_POST['mode2']))
  4.     include('mode2.php');


 
ou mode1.php et mode2.php sont "les pages associées".

n°1725365
masterpsx
Aigloun foutougrafe
Posté le 28-04-2008 à 09:29:05  profilanswer
 

Même si j'en vois pas trop l'interet, tu peut aussi utiliser une petite fonction javascript sur le 2éme bouton (qui ne devra pas être un submit) pour modifier "action" du formulaire et envoyer le formulaire.

n°1725830
Cachouguin​teur
Yippie ki yay
Posté le 28-04-2008 à 20:15:22  profilanswer
 

ok, merci, j'ai réussi à faire ce que je voulais gràce à Martius :)
 
Mais j'ai d'autres soucis : je dois créer des histogrammes avec jpgraph en fonction d'une séquence de lettres rentrées par l'utilisateur. La séquence qu'il rentre est constitué uniquement de A,T,C et G
 
Donc mon souci n°1 est de "corriger" sa séquence tout ce qui n'est pas A,T,C ou G, c'est à dire le chiffres, les autres lettres, les espaces, ... pour que je puisse ensuite le traiter.
 
Mon souci n°2 est plus compliqué à mon avis : je crée des histo avec jpgraph comme je l'ai dit. L'histo est basé sur 2 tableaux. Je vais faire un exemple pour que ce soit plus clair :  
 
Imaginons que l'utilisateur rentre un phrase et que je veuille compter le nombre de fois qu'il y a le même mot. Je crée donc 2 tableaux avec dans le 1er les mots que je voudrais compter et dans le second leur fréquence.  
 
1er tableau     'banane' 'cerise' 'pomme' 'poire'
2eme tableau  'freq[banane]' 'freq[cerise]' 'freq[pomme]' 'freq[poire]'
 
Mais le probleme c'est que si dans la phrase il n'y pas banane par exemple, eh bien l'histogramme plante au lieu de m'afficher "0".
Peut etre un truc "if/else" ??
 

n°1725842
sielfried
Posté le 28-04-2008 à 20:51:26  profilanswer
 

Cachouguinteur a écrit :

ok, merci, j'ai réussi à faire ce que je voulais gràce à Martius :)
 
Mais j'ai d'autres soucis : je dois créer des histogrammes avec jpgraph en fonction d'une séquence de lettres rentrées par l'utilisateur. La séquence qu'il rentre est constitué uniquement de A,T,C et G
 
Donc mon souci n°1 est de "corriger" sa séquence tout ce qui n'est pas A,T,C ou G, c'est à dire le chiffres, les autres lettres, les espaces, ... pour que je puisse ensuite le traiter.
 
Mon souci n°2 est plus compliqué à mon avis : je crée des histo avec jpgraph comme je l'ai dit. L'histo est basé sur 2 tableaux. Je vais faire un exemple pour que ce soit plus clair :  
 
Imaginons que l'utilisateur rentre un phrase et que je veuille compter le nombre de fois qu'il y a le même mot. Je crée donc 2 tableaux avec dans le 1er les mots que je voudrais compter et dans le second leur fréquence.  
 
1er tableau     'banane' 'cerise' 'pomme' 'poire'
2eme tableau  'freq[banane]' 'freq[cerise]' 'freq[pomme]' 'freq[poire]'
 
Mais le probleme c'est que si dans la phrase il n'y pas banane par exemple, eh bien l'histogramme plante au lieu de m'afficher "0".
Peut etre un truc "if/else" ??
 


 
array_count_values(preg_split('/\s+/', $phrase))


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1725844
Cachouguin​teur
Yippie ki yay
Posté le 28-04-2008 à 20:55:53  profilanswer
 

merci de ta réponse mais ça veut dire quoi?? excuse je suis pas très expérimenté en php...

mood
Publicité
Posté le 28-04-2008 à 20:55:53  profilanswer
 

n°1725847
sielfried
Posté le 28-04-2008 à 21:12:14  profilanswer
 

Ben ça te sort la fréquence des mots dans une phrase (même si c'est une version assez naïve là dans sa conception du "mot" ).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1725848
Cachouguin​teur
Yippie ki yay
Posté le 28-04-2008 à 21:14:40  profilanswer
 

mais dans mon prog j'ai déjà les freq, mon souci c'est juste que si dans la phrase il n'y a pas un mot alors que c'est une entrée du tableau, l'histo plante au lieu de me dire qu'il y est 0 fois

n°1725849
_Rit0n_
Posté le 28-04-2008 à 21:14:53  profilanswer
 

Chaque bouton submit va avoir l'url differente, sa doit suffire non?


---------------
Site web : http://nobock.fr
n°1725851
sielfried
Posté le 28-04-2008 à 21:18:52  profilanswer
 

Cachouguinteur a écrit :

mais dans mon prog j'ai déjà les freq, mon souci c'est juste que si dans la phrase il n'y a pas un mot alors que c'est une entrée du tableau, l'histo plante au lieu de me dire qu'il y est 0 fois


 
Ah ok j'avais pas exactement compris ce que tu voulais (ma manie de lire les posts en vertical :/). Donc c'est pas la fréquence des mots (quels qu'ils soient) d'une phrase que tu veux, mais la fréquence d'un ensemble de mots donnés...
 
Bon, ben commence par montrer ce que tu fais pour construire ton truc. [:petrus75]


Message édité par sielfried le 28-04-2008 à 21:19:11

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1725861
CyberDenix
Posté le 28-04-2008 à 21:43:51  profilanswer
 

Code :
  1. if (isset($freq['banane'])) {
  2.  // $freq['banane'] existe !
  3. }
  4. else {
  5.  // $freq['banane'] n'existe pas !
  6. }

Message cité 1 fois
Message édité par CyberDenix le 28-04-2008 à 21:44:07

---------------
Directeur Technique (CTO)
n°1725892
sielfried
Posté le 28-04-2008 à 23:05:42  profilanswer
 

Et donc ?
 
edit: wups, je croyais que c'était un post de Cachou. :o


Message édité par sielfried le 29-04-2008 à 10:05:23

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1725986
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:04:08  profilanswer
 

je vais mettre un morceau de mon code brut, dites moi ce que vous comprenez pas

n°1725988
skeye
Posté le 29-04-2008 à 10:06:27  profilanswer
 

CyberDenix a écrit :

Code :
  1. if (isset($freq['banane'])) {
  2.  // $freq['banane'] existe !
  3. }
  4. else {
  5.  // $freq['banane'] n'existe pas !
  6. }



 
La fonction array_key_exists est là pour ça dans les tableaux.:o


---------------
Can't buy what I want because it's free -
n°1725990
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:08:57  profilanswer
 

Code :
  1. <?
  2. $sequ=$_POST['sequence'];
  3. $long=strlen($sequ);
  4. $traduction='';
  5. $code_choisi=$_POST['code_choisi'];
  6. $aa_choisi=$_POST['aa_choisi'];
  7. // Il faut au préalable traiter la séquence pour vérifier plusieurs choses : qu'il n'y a que des A, T, C, G ou U
  8. $sequ=strtoupper($sequ); // Met toute le séquence en majuscule
  9. $sequ=str_replace ("U", "T", $sequ); // Remplace les U par des T
  10. $code=array("GCT"=>"A","GCC"=>"A","GCA"=>"A","GCG"=>"A","CGT"=>"R","CGC"=>"R","CGA"=>"R","CGG"=>"R",
  11. "AGA"=>"R","AGG"=>"R","AAT"=>"N","AAC"=>"N","GAT"=>"D","GAC"=>"D","TGT"=>"C","TGC"=>"C","CAA"=>"E",
  12. "CAG"=>"E","GAA"=>"Q","GAG"=>"Q","GGT"=>"G","GGC"=>"G","GGA"=>"G","GGG"=>"G","CAT"=>"H","CAA"=>"H",
  13. "ATT"=>"I","ATC"=>"I","ATA"=>"I","TTA"=>"L","TTG"=>"L","CTT"=>"L","CTC"=>"L","CTA"=>"L","CTG"=>"L","AAA"=>"K",
  14. "AAG"=>"K","ATG"=>"M","TTT"=>"F","TTC"=>"F","CCT"=>"P","CCC"=>"P","CCA"=>"P","CCG"=>"P","TCT"=>"S",
  15. "TCC"=>"S","TCA"=>"S","TCG"=>"S","AGT"=>"S","AGC"=>"S","ACT"=>"T","ACC"=>"T","ACA"=>"T","ACG"=>"T",
  16. "TGG"=>"W","TAT"=>"Y","TAC"=>"Y","GTT"=>"V","GTC"=>"V","GTA"=>"V","GTG"=>"V","TAA"=>"Z","TAG"=>"Z",
  17. "TGA"=>"Z" ); //tableau du code génétique
  18. (...)
  19. for ($i=0; $i<$long; $i+=3)
  20. {
  21. $codon=substr($sequ,$i,3);
  22. $AA=$code[$codon];
  23. if(empty($AA_tab[$AA]['total']))
  24. {
  25.  $AA_tab[$AA]['total']= 1;
  26. }
  27. else
  28. {
  29.  $AA_tab[$AA]['total']++;
  30. }
  31. if(empty($AA_tab[$AA][$codon]))
  32. {
  33.  $AA_tab[$AA][$codon] = 1;
  34. }
  35. else
  36. {
  37.  $AA_tab[$AA][$codon]++;
  38. }
  39. }
  40. for ($lettre=ord('A');$lettre<=ord('Z');$lettre++) //boucle qui parcoure l'alphabet
  41. {
  42. if (isset($AA_tab[chr($lettre)]))
  43. {
  44.  foreach ($AA_tab[chr($lettre)] as $codon => $nombre)
  45.  {
  46.   if ($codon!="total" )
  47.   {
  48.    $pourcentage[chr($lettre)][$codon] = $nombre*100 / $AA_tab[chr($lettre)]['total'];
  49.   }
  50.   else
  51.   {
  52.    $pourcentage[chr($lettre)][$codon] = 0;
  53.   }
  54.  }
  55. }
  56. }
  57. //Et après je crée mes histo avec JpGraphp pour chaque AA (acide aminé), là je met en exemple un histo
  58. include ("jpgraph-2.3/src/jpgraph.php" );
  59. include ("jpgraph-2.3/src/jpgraph_bar.php" );
  60. $tableau_codons = array('CGT', 'CGC', 'CGA', 'CGG', 'AGA', 'AGG');
  61. $tableau_pourcentages = array($pourcentage['R']['CGT'], $pourcentage['R']['CGC'], $pourcentage['R']['CGA'], $pourcentage['R']['CGG'], $pourcentage['R']['AGA'], $pourcentage['R']['AGG']);
  62. $graph = new Graph(400,250);
  63. $graph->SetScale("textlin" );
  64. $graph->SetShadow();
  65. $graph->img->SetMargin(40,30,25,40);
  66. $bplot = new BarPlot($tableau_pourcentages);
  67. $bplot->SetFillColor(array('red', 'green', 'blue', 'orange', 'black', 'purple'));
  68. $bplot->SetShadow();
  69. $bplot->value->Show();
  70. $bplot->value->SetFont(FF_FONT1,FS_BOLD);
  71. $bplot->value->SetFormat('%d');
  72. $graph->Add($bplot);
  73. $graph->title->Set("Graphique : Arginine" );
  74. $graph->title->SetFont(FF_FONT1,FS_BOLD);
  75. $graph->xaxis->title->Set("Codons" );
  76. $graph->yaxis->title->Set("Pourcentages" );
  77. $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
  78. $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
  79. $graph->xaxis->SetTickLabels($tableau_codons);
  80. $graph->Stroke();
  81. break;
  82. ?>


 

n°1725992
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:11:54  profilanswer
 

et donc mon souci c'est que ce si dans $sequ, l'utilisateur n'a pas mis CGT par exemple, eh bien l'histogramme en question plante au lieu de m'afficher 0 et me dit "undefined index : CGT"...

n°1725996
skeye
Posté le 29-04-2008 à 10:14:49  profilanswer
 

Cachouguinteur a écrit :

et donc mon souci c'est que ce si dans $sequ, l'utilisateur n'a pas mis CGT par exemple, eh bien l'histogramme en question plante au lieu de m'afficher 0 et me dit "undefined index : CGT"...


donne la ligne sur laquelle ça plante...je vois pas l'accès à $sequ qui peut planter dans ton paté de code là...[:petrus75]


---------------
Can't buy what I want because it's free -
n°1726003
sielfried
Posté le 29-04-2008 à 10:21:29  profilanswer
 

Ça a l'air vachement compliqué ton truc. [:petrus75]
 
Je pense que tu ferais mieux d'utiliser des fonctions du genre :
http://fr.php.net/manual/fr/function.str-split.php (pour couper ta chaîne en codes de 3 caractères)
http://fr.php.net/array_count_values (calcule une fréquence)
etc.


Message édité par sielfried le 29-04-2008 à 10:21:58

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1726011
Paulp
~, sweet ~
Posté le 29-04-2008 à 10:29:52  profilanswer
 

Le souci est là :

Code :
  1. if(empty($AA_tab[$AA][$codon]))
  2. {
  3.   $AA_tab[$AA][$codon] = 1;
  4. }


 
Tu initialises à 1 si c'est vide. Il faudrait tout initialiser à 0 avant :

Code :
  1. $code=array("GCT"=>"A",... ); //tableau du code génétique
  2. (...)
  3. foreach($code as $val)
  4.    $AA_tab[$val]['total']=0;
  5. for ($i=0; $i<$long; $i+=3)
  6. {
  7.    $codon=substr($sequ,$i,3);
  8.    $AA=$code[$codon];
  9.    $AA_tab[$AA]['total']++;
  10.    ...

n°1726015
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:31:09  profilanswer
 

ben ça plante à la ligne 69 dans mon exemple càd qd il accède au tableau des pourcentages

n°1726019
skeye
Posté le 29-04-2008 à 10:34:09  profilanswer
 

Cachouguinteur a écrit :

ben ça plante à la ligne 69 dans mon exemple càd qd il accède au tableau des pourcentages


Si ton tableau pourcentage['R'] a des indices fixes et prédéfinis, initialise-le par défaut à zéro pour tous ces indices avant de le remplir.


Message édité par skeye le 29-04-2008 à 10:34:20

---------------
Can't buy what I want because it's free -
n°1726022
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:35:39  profilanswer
 

ok donc je vais essayer la suggestion de Paulp

n°1726029
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 10:39:55  profilanswer
 

je doit donc remplacer :

Code :
  1. for ($i=0; $i<$long; $i+=3)
  2. {
  3. $codon=substr($sequ,$i,3);
  4. $AA=$code[$codon];
  5. if(empty($AA_tab[$AA]['total']))
  6. {
  7.  $AA_tab[$AA]['total']= 1;
  8. }
  9. else
  10. {
  11.  $AA_tab[$AA]['total']++;
  12. }
  13. if(empty($AA_tab[$AA][$codon]))
  14. {
  15.  $AA_tab[$AA][$codon] = 1;
  16. }
  17. else
  18. {
  19.  $AA_tab[$AA][$codon]++;
  20. }
  21. }


 
par :

Code :
  1. foreach($code as $val)
  2.     $AA_tab[$val]['total']=0;
  3. for ($i=0; $i<$long; $i+=3)
  4. {
  5.     $codon=substr($sequ,$i,3);
  6.     $AA=$code[$codon];
  7.     $AA_tab[$AA]['total']++;
  8. }


 
??

n°1726038
Paulp
~, sweet ~
Posté le 29-04-2008 à 10:43:41  profilanswer
 

Cachouguinteur a écrit :

je doit donc remplacer :
...


 
Ah je n'avais pas vu la distinction $AA_tab[$AA]['total'] / $AA_tab[$AA][$codon]
je vais regarder ton code en détail ...
 
EDIT :
 
J'espere avoir compris ce que tu veux faire, ...
Essaie ce code là, j'ai essayé de rester le plus proche de ce que tu faisais, en simplifiant

Code :
  1. $code=array("GCT"=>"A","GCC"=>"A","GCA"=>"A","GCG"=>"A","CGT"=>"R","CGC"=>"R","CGA"=>"R","CGG"=>"R",
  2. "AGA"=>"R","AGG"=>"R","AAT"=>"N","AAC"=>"N","GAT"=>"D","GAC"=>"D","TGT"=>"C","TGC"=>"C","CAA"=>"E",
  3. "CAG"=>"E","GAA"=>"Q","GAG"=>"Q","GGT"=>"G","GGC"=>"G","GGA"=>"G","GGG"=>"G","CAT"=>"H","CAA"=>"H",
  4. "ATT"=>"I","ATC"=>"I","ATA"=>"I","TTA"=>"L","TTG"=>"L","CTT"=>"L","CTC"=>"L","CTA"=>"L","CTG"=>"L","AAA"=>"K",
  5. "AAG"=>"K","ATG"=>"M","TTT"=>"F","TTC"=>"F","CCT"=>"P","CCC"=>"P","CCA"=>"P","CCG"=>"P","TCT"=>"S",
  6. "TCC"=>"S","TCA"=>"S","TCG"=>"S","AGT"=>"S","AGC"=>"S","ACT"=>"T","ACC"=>"T","ACA"=>"T","ACG"=>"T",
  7. "TGG"=>"W","TAT"=>"Y","TAC"=>"Y","GTT"=>"V","GTC"=>"V","GTA"=>"V","GTG"=>"V","TAA"=>"Z","TAG"=>"Z",
  8. "TGA"=>"Z" ); //tableau du code génétique
  9. (...)
  10. foreach($code as $codon=>$aa){ // Initialisation des compteurs à 0
  11.    $AA_tab[$aa][$codon]= 0;
  12. }
  13. for ($i=0; $i<$long; $i+=3){ // Pour chaque codon de la sequence
  14.    $codon=substr($sequ,$i,3);
  15.    $AA=$code[$codon];
  16.    $AA_tab[$AA][$codon]++; // On met à jour le compteur
  17. }
  18. // Calcul des pourcentages
  19. foreach($AA_tab as $aa=>$codons){                    // Pour chaque acide aminé
  20.    $tot = array_count($codons);                      // On calcule le total d'occurences
  21.    foreach($codons as $codon=>$nombre){              // Et pour chaque codon correspondant à cet AA
  22.       $pourcentage[$aa][$codon]=$nombre*100/$tot;    // On calcule le pourcentage
  23.    }
  24. }
  25. // affichage
  26. ...


 
Sinon, avec str_split :

Code :
  1. $code=array("GCT"=>"A","GCC"=>"A","GCA"=>"A","GCG"=>"A","CGT"=>"R","CGC"=>"R","CGA"=>"R","CGG"=>"R",
  2. "AGA"=>"R","AGG"=>"R","AAT"=>"N","AAC"=>"N","GAT"=>"D","GAC"=>"D","TGT"=>"C","TGC"=>"C","CAA"=>"E",
  3. "CAG"=>"E","GAA"=>"Q","GAG"=>"Q","GGT"=>"G","GGC"=>"G","GGA"=>"G","GGG"=>"G","CAT"=>"H","CAA"=>"H",
  4. "ATT"=>"I","ATC"=>"I","ATA"=>"I","TTA"=>"L","TTG"=>"L","CTT"=>"L","CTC"=>"L","CTA"=>"L","CTG"=>"L","AAA"=>"K",
  5. "AAG"=>"K","ATG"=>"M","TTT"=>"F","TTC"=>"F","CCT"=>"P","CCC"=>"P","CCA"=>"P","CCG"=>"P","TCT"=>"S",
  6. "TCC"=>"S","TCA"=>"S","TCG"=>"S","AGT"=>"S","AGC"=>"S","ACT"=>"T","ACC"=>"T","ACA"=>"T","ACG"=>"T",
  7. "TGG"=>"W","TAT"=>"Y","TAC"=>"Y","GTT"=>"V","GTC"=>"V","GTA"=>"V","GTG"=>"V","TAA"=>"Z","TAG"=>"Z",
  8. "TGA"=>"Z" ); //tableau du code génétique
  9. (...)
  10. $codons=str_split($sequ, 3)                     // Decoupage de la sequence en tableaux de codons
  11. $n_occurences=array_count_values($codons)       // Calcul du nombre d'occurences de chaque codon
  12. foreach($code as $codon=>$aa)                   // Tri par acide aminé
  13.   $n_occurences_trie[$aa][$codon]=(empty($n_occurences[$codon])?0:$n_occurences[$codon]);
  14. foreach($code as $codon=>$aa)                   // Calcul des pourcentages
  15.   $pourcentage[$aa][$codon]=100*$n_occurences_trie[$aa][$codon]/array_sum($n_occurences_trie[$aa])
  16. // affichage
  17. ...


Message édité par Paulp le 29-04-2008 à 15:23:19
n°1726050
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 11:00:44  profilanswer
 

Merci Paulp et puis les autres, c'est sympa de se pencher sur mon problème :)

n°1726486
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 18:47:27  profilanswer
 

merci Paulp, il me dit "Call to undefined function array_count()" ce qui correspond à la ligne 25 de ton ex 1
 
EDIT : j'ai mis array_count_values à la place, et maintenant j'ai un un souci à la ligne 27 "Unsupported operand types"


Message édité par Cachouguinteur le 29-04-2008 à 19:14:00
n°1726538
Cachouguin​teur
Yippie ki yay
Posté le 29-04-2008 à 20:09:52  profilanswer
 

qqun a une idée??

n°1726581
Paulp
~, sweet ~
Posté le 29-04-2008 à 22:14:26  profilanswer
 

essaye ca :
$tot=array_sum($codons);

n°1726699
Cachouguin​teur
Yippie ki yay
Posté le 30-04-2008 à 09:04:34  profilanswer
 

maintenant il est pas content parce il ne veut pas trop diviser par zéro. Je fait une boucle if??

n°1726700
skeye
Posté le 30-04-2008 à 09:05:47  profilanswer
 

Dis, tu comptes vraiment venir demander sur le forum à CHAQUE problème que tu peux croiser?[:pingouino]


---------------
Can't buy what I want because it's free -
n°1726741
Paulp
~, sweet ~
Posté le 30-04-2008 à 10:23:28  profilanswer
 

Cachouguinteur a écrit :

maintenant il est pas content parce il ne veut pas trop diviser par zéro. Je fait une boucle if??


un test if, ou plus simplement, avec l'operateur conditionnel ternaire

Code :
  1. $pourcentage[$aa][$codon]=($tot ? ($nombre*100/$tot) : 0);

n°1726744
Cachouguin​teur
Yippie ki yay
Posté le 30-04-2008 à 10:28:06  profilanswer
 

youpiiiiiii merci paulp, ça marche du tonnerre. Merci merci merci. Et désolé de vous avoir saoulé :)

n°1733276
Cachouguin​teur
Yippie ki yay
Posté le 18-05-2008 à 10:20:10  profilanswer
 

un petit up, car j'aurais à  nouveau besoin d'aide :  
 

Code :
  1. foreach($code as $codon=>$AA){ // Initialisation des compteurs à 0
  2. $AA_tab[$AA][$codon]= 0;
  3. }
  4. for ($i=0; $i<$long; $i+=3){ // Pour chaque codon de la sequence
  5.    $codon=substr($sequ,$i,3);
  6.    @$AA=$code[$codon];
  7.    @$AA_tab[$AA][$codon]++; // On met à jour le compteur
  8. }
  9. // Calcul des pourcentages
  10. foreach($AA_tab as $AA=>$codons) // Pour chaque acide aminé
  11. echo "L'acide aminé ", $AA, " est codé par : ";
  12. $tot = array_sum($codons); // On calcule le total d'occurences
  13.     foreach($codons as $codon=>$nombre) // Et pour chaque codon correspondant à cet AA
  14.     {             
  15.  $pourcentage[$AA][$codon]=($tot ? ($nombre*100/$tot) : 0); // On calcule le pourcentage
  16.  echo "$codon à ", round($pourcentage[$AA][$codon]),"% ";
  17.     }
  18. echo "<br>";
  19. }


 
ça m'affiche un truc du genre :
 
L'acide aminé A est codé par : GCT à 0% GCC à 0% GCA à 0% GCG à 0%
L'acide aminé R est codé par : CGT à 0% CGC à 0% CGA à 0% CGG à 0% AGA à 0% AGG à 0%
L'acide aminé N est codé par : AAT à 0% AAC à 0%
L'acide aminé D est codé par : GAT à 0% GAC à 0%
L'acide aminé C est codé par : TGT à 0% TGC à 0%
L'acide aminé E est codé par : GAA à 0% GAG à 0%
L'acide aminé Q est codé par : CAA à 0% CAG à 0%
L'acide aminé G est codé par : GGT à 0% GGC à 0% GGA à 0% GGG à 0%
L'acide aminé H est codé par : CAT à 0% CAC à 0%
L'acide aminé I est codé par : ATT à 0% ATC à 0% ATA à 0%
L'acide aminé L est codé par : TTA à 0% TTG à 0% CTT à 0% CTC à 0% CTA à 0% CTG à 0%
L'acide aminé K est codé par : AAA à 100% AAG à 0%
L'acide aminé M est codé par : ATG à 0%
L'acide aminé F est codé par : TTT à 0% TTC à 0%
L'acide aminé P est codé par : CCT à 0% CCC à 0% CCA à 0% CCG à 0%
L'acide aminé S est codé par : TCT à 0% TCC à 0% TCA à 0% TCG à 0% AGT à 0% AGC à 0%
L'acide aminé T est codé par : ACT à 0% ACC à 0% ACA à 0% ACG à 0%
L'acide aminé W est codé par : TGG à 0%
L'acide aminé Y est codé par : TAT à 0% TAC à 0%
L'acide aminé V est codé par : GTT à 0% GTC à 0% GTA à 0% GTG à 0%
L'acide aminé * est codé par : TAA à 0% TAG à 0% TGA à 0%
 
Et en fait j'aurai aimé savoir comment faire pour que si jamais le % est nul, eh bien ne pas l'afficher :)

n°1733287
sielfried
Posté le 18-05-2008 à 11:15:36  profilanswer
 
n°2056475
tgmg
Posté le 13-02-2011 à 20:15:54  profilanswer
 

Martius a écrit :

Non, mais utilises une page intermédiaire :
 

Code :
  1. <form id="form" method='post" action="page_intermediaire.php">
  2. (...)
  3. <input type="submit" name="mode1" value="Mode 1" />
  4. <input type="submit" name="mode2" value="Mode 2" />


 
page_intermediaire.php :

Code :
  1. if(isset($_POST['mode1']))
  2.     include('mode1.php');
  3. elseif(isset($_POST['mode2']))
  4.     include('mode2.php');


 
ou mode1.php et mode2.php sont "les pages associées".


 
 
salut,
j'ai probleme moins complexe:
 
je travail sur un scpt de traduction d'ADN en acide aminé en php . sans tenir compte des introns etc.
j'ai un formulaire que je souhaite relier a une base de donné contenant les codon et les AA aminé correspondants. dans le formulaire je colle ma séquence et je clique sur un bouton traduction pour avoir la correspondance en AA  

n°2056476
Alisteroid
Posté le 13-02-2011 à 20:24:50  profilanswer
 

Suffit d'utiliser la fonction adn_decode de php  [:torsadealanapo:2]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Communication Html/PHP

 

Sujets relatifs
Integré une page web dans un blok htmlDe VRAIS cours de PHP, ça existe ??
[Résolu 2 fois ;)] script PHP liste deroulante et base de données[ PHP ] [ RESOLU ] Envoyer des mail hotmail avec php
Insérer un album photo dans une page html[html+javascript] Envoi de formulaire par mail
[ PHP ] str_replace avancé dans un $texteAide sur fonction PHP
[RESOLU] "applet not initiated" : quelle erreur dans le code HTML ?[HTML/CSS] Créer de nouvelles balises, authorisé ?
Plus de sujets relatifs à : [PHP] Communication Html/PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR