Page 1 sur 1

compteur dans un text area !!

Posté : 05 mai 2010, 16:42
par xavioche
Rebonjour, voici mon probleme.
J'ai un text area avec des lettres dedans.

$contenu est une suite de caracteres.

<textarea name="descrip" cols="50" rows="7"><?=$contenu;?></textarea>


Je souhaiterais mettre une:sorte de compteur pour savoir ou j'en suis dedans comme sur l'exmple suivant;



1.........11........21........31........41........51........61........71........
GAAGCUGACCAGACAGUCGCCGCUUCGUCGUCGU
81........91........101.......111.......121.......131.......141.......151.......
AGGGCAGGGUGCCAGGUAACGCCUGGGGGGGAAAC
s
Bon le forum formate les choses selon ses envie alors l'exemple est faux mais en gros c est ca.
Mettre une sorte de compteur de 10 en 10 une ligne sur deux et que le tout fasse la longueur de ma variable..

Si vous savez comment faire
je vous remercie

Re: compteur dans un text area !!

Posté : 05 mai 2010, 17:26
par AB
En php la fonction pour trouver la longueur d'une chaine de caractères est : strlen ou mb_strlen

Mais je suppose que tu voudrais un compteur en temps réel qui indique le nombre de caractères quand tu écris dans ton textarea.
Dans ce cas ça se fait en javascript : var nb_caracteres = document.getElementById('id_du_textarea').value.length;

Re: compteur dans un text area !!

Posté : 06 mai 2010, 10:22
par Invité
en fait personne n' écrit dans le text area.
c est une varriable qui le remplit.

En fait c peut etre pas pertinent de faire un text area.
Donc non, c'est pas en temps réel.
Mais la variable n'a pas la même longueur a chaque fois.

1.........11........21........31........41........51........61........71........
GAAGCUGACCAGACAGUCGCCGCUUCGUCGUCGU

peut etre faire une boucle et tout les 10 affichier le nombre suivi de 9 petit point mais il faut que j écrive cette ligne de compteur une ligne sur deux .
arf
je vois pas trop. Je vais faire des test a l'aveuglette

Re: compteur dans un text area !!

Posté : 06 mai 2010, 10:58
par xavioche
euh c était de moi le dernier message
jai oublié de mettre un nom d'utilisateur ^^

Re: compteur dans un text area !!

Posté : 06 mai 2010, 17:48
par AB
En fait c peut etre pas pertinent de faire un text area.
Heu non c'est pas pertinent, c'est même handicapant.

A ta place j'utiliserrai la fonction str_split pour convertir ta chaine de caractères dans un tableau.
Ensuite tu liste le résultat dans un tableau. Rapidement :
<?php $str = 'azertyuiopqsdfghjklmwxcvbn';
$tab_str = str_split($str);
?>
<table border="1">
  <tr>
  <?php 
  foreach ($tab_str as $key => $value)
  {
	  $indice = $key + 1;
	  echo '<td>';
	  if ($indice == 1 || $indice%10 == 0) echo $indice;
	  echo '<br />';
	  echo $value;
	  echo '</td>';
  }
  ?>
  </tr>
</table>

Re: compteur dans un text area !!

Posté : 07 mai 2010, 11:51
par xavioche
merci ca marhce
c parfait
par contre j essaye juste de rajouter un saut de ligne tout les 60 caracteres par exemple.

<?php
$contenu='AGAGUUUGAUCAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUCCCCGGGUGACGAGCGGCGGACGGGUGAGUAACCCCGGGUGACGAGCGGCGGACAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUCCCCGGGUGACGAGCGGCGGACGGGUGAGUAAGGGUGAGUAAU';
$str = $contenu;
$tab_str = str_split($str);
?>
<table border="1">
<tr>
<?php
foreach ($tab_str as $key => $value)
{
$indice = $key + 1;
echo '<td>';
if ($indice == 1 || $indice%30 == 0) echo $indice;
if ($indice%60 == 0) echo '<tr>';

echo $value;
echo '</td>';
}
?>
</tr>
</table>

j'ai donc juste rajouter cette ligne if ($indice%60 == 0) echo '<tr>';
je comprend pas ca me fait ce que je veux mais ca écrit également quelque lettre de $contenu en dehors du tableau. Alors que selon moi rien ne devrait sortir du tableau.

Re: compteur dans un text area !!

Posté : 07 mai 2010, 17:00
par AB
Dans ton exemple tu ouvres des lignes à l'intérieur de cellules... c'est pas la bonne syntaxe.

Tu as des explications ici pour bien construire ton tableau.

Re: compteur dans un text area !!

Posté : 07 mai 2010, 19:57
par blof
Bonsoir,

une autre solution sans tableau :
<?php
$contenu='AGAGUUUGAUCAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUCCCCGGGUGACGAGCGGCGGACGGGUGAGUAACCCCGGGUGACGAGCGGCGGACAUGGCUCAGAUUGAACGCUGGCGGCAGGCUUAACACAUGCAAGUCGAGCGGUAGCACAGGGGAGCUUGCUCCCCGGGUGACGAGCGGCGGACGGGUGAGUAAGGGUGAGUAAU';

$lg_contenu = strlen($contenu);
$regle = '1.........';

for($i=11; $i<=$lg_contenu; $i+=10)
{
	$regle .= str_pad($i, 10, '.');
}

echo '<pre>';
for($j=0; $j<=$lg_contenu; $j+=60)
{
	echo substr($regle, $j, 60),"\n",substr($contenu, $j, 60),"\n\n";
}
echo '</pre>';

?>

Re: compteur dans un text area !!

Posté : 10 mai 2010, 11:36
par xavioche
cool j opte pour la solution sans tableau.
Ca fait exactement ce qu'il faut.
Merci les gens.

ps: je sais pas mettre le sujet en résolu mais c est résolu :s