Transformer un texte en tableau

Fermé
Utilisateur anonyme - 12 avril 2015 à 21:34
 nagasha - 12 avril 2015 à 22:28
Bonjour,

Sur mon site, il y a un formulaire avec un champs pour pouvoir y écrire un texte.
Une fois ce formulaire envoyé, j'aimerais transformer le texte en question en un tableau où chaque éléments du tableau est une ligne du texte.
Pouvez-vous m'aider ? (J'aimerais faire ça en PHP)



Cordialement, Julien.
A voir également:

1 réponse

Salut,
vous aider à quoi?

Un tableau c'est du HTML.
Ca tombe bien la principale utilité de PHP c'est la fonction echo()
echo() permet d'écrire un contenu texte.
Comme HTML c'est du texte PHP est surtout employé pour ça sur le mode des pages dynamiques en architecture 3 tiers.

exemple:

<?php
$mon_texte='helo world';
//on va maintenant utiliser echo pour l'afficher en HTML
echo ('<p>'.$mon_texte.'</p>');

la réponse d'une requête SQL par PHP est sous la forme d'un tableau(de données) parcourues par un pointeur. C'est pour cela que cette réponse(résultat) n'est pas toujours exploitable directement et qu'il faut associer la valeur de retour SQL à de tableaux PHP(mysql_fetch...). Avec l'objet PHP(PDO) ces fonctions sont incuse mais sont bien effectuées si besoin (il y a des résultats de requêtes qui n'envoient qu'une valeur unique ou des valeurs nulles, donc là pas besoin d'association avec un tableau de variables PHP).

Passons ce détail technique qui vous aide à comprendre la relation etre PHP et SQl.

Une fois traitée(le résultat de la requête) et celle ci exploitable en valeurs(la variabe ou tableau de variables) vous devez simplement écrire celles ci avec les repères HTML correspondant.

soit le tableau assciatif suivant:
<?php
$montableeau=array(1,2,3
)
On va utiliser ce qui s'appelle par le gros mot 'région répétée' une boucle de programmation pour lister par clé et afficher das chaque ligne du tableau HTML.
Une ligne HTML s'indique par la balise TR, donc la condition de la boucle sera la clé et le nombre de ligne le nombre de résultat.
Je n'ai pas l'imression d'être clair, p-e le code en exemple pratique le sera plus:

<table>
<!-- on commence le tableau-->
<?php
$nombrelignes=count($montableau);
/* on compte le nombre de valeurs dans le tableau pour connaître le nombre de lignes, donc le nombres de 'tours' de boucles à faire et on l'enregistre dans la variable $nombrelignes
  • /

// la boucle ici (attention la première valeur d'un tabeau est $montableau[0]
for($i=0;$i<$nombrelignes;$i++){
echo ('<tr>');
//on commence la ligne
echo ('<td>');
// la 1ère colonne
ligne '.$i);
/* le contenu de la 1ère colonne, ici j'utilise simplement l'indice numérique, c'est pareil pour un tableau associatif comme ceux en retour d'ue requête comportant les champs d'une table comme clé*/
echo '</td>';
//fermeture de la 1ere colonne
//ouverture de la 2nd colonne
echo '<td>';
//contenu de la 2nd colonne:
echo $montableau[$i];
//fermeture de la colonne
echo '</td>';
// et fermeture de la ligne
echo '</tr>';
}// fin de boucle, correspond bien à une ligne par jeu de données
//et bien sûr hors de la boucle on ferme la table
echo '</table>';
?>

Sans commentaire et avec la concaténation on a ça:

<table>
<?php
for($i=0;$i<count($montableau);$i++){
echo ('<tr><td>ligne'.$i.'</td><td>'.$montableau[$i].'</td></tr>';

}
?>
</table>

Plutôt rapide et facile et qui s'adapte au nombres de lignes nécessaires, c'est toute la force des pages dynamique: que le même code servent à afficher un contenu qui changera au fil du temps. Qu'importe le nombre de lignes dans la db le tableau affichera toujours le nombre de lignes correspondat sans devoir revenir sr l'affichage HTML puisque celui ci est dans une boucle conditionnelle qui l'écrit en PHP.

edit: ici 'ai tenu compte d'un tableau de résultat d'une requête car c'est un cas classique. Avec un formulaire c'est la même chose. Les tableaux à utiliser sont ceux des variables POST ou GET selon la method utilisée dans le form.
0