Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: A l'aide, comment passer un long texte en paramètre???

Envoyé: 4 juin 2004, 9h48 par wolverine le glouton


Merci à toi Oznog pour la réponse et effectivement j'avais avalé le code que voici donc sur le champs avec quelques commentaires en plus:
/* Pour chaque édition du tournoi, i.e. chaque saison, */
/* construction d'un calque contenant la fiche saison */
for ($i = 0; $i <= count($monTournoi->tabSaison) - 1; $i++) {
$monTournoi->getData($monTournoi->tabSaison[$i]);
$monTournoi->getEtape($monTournoi->tabSaison[$i],1);
$editionContent = '';
if ($monTournoi->description != '') {
$editionContent .= '<strong>descriptif</strong><br>';
$editionContent .= $monTournoi->description.'<br><br>';
}
if ($monTournoi->reglement != '') {
$editionContent .= '<strong>réglement</strong><br>';
$editionContent .= $monTournoi->reglement.'<br><br>';
}
$editionContent .= '<strong>étapes</strong><br>';
$editionContent = addslashes($editionContent);

/* Pour chaque édition on inclut chacune des étape */
for ($j = 0; $j <= count($monTournoi->tabEtape) - 1; $j++) {
$monTournoi->tabEtape[$j]->getData();
$etapeContent = '';
if ($monTournoi->tabEtape[$j]->description != '') {
$etapeContent .= '<strong>descriptif</strong><br>';
$etapeContent .= $monTournoi->tabEtape[$j]->description.'<br><br>';
}
if ($monTournoi->tabEtape[$j]->reglement != '') {
$etapeContent .= '<strong>réglement</strong><br>';
$etapeContent .= $monTournoi->tabEtape[$j]->reglement.'<br><br>';
}
if ($monTournoi->tabEtape[$j]->bilan != '') {
$etapeContent .= '<strong>bilan</strong><br>';
$etapeContent .= $monTournoi->tabEtape[$j]->bilan.'<br><br>';
}
$etapeContent = addslashes($etapeContent);
//$editionContent .= '<a href=javascript:showContent(\'etape'.$monTournoi->id.$monTournoi->tabEtape[$j]->id.'\',\''.$etapeContent.'\')>'.$monTournoi->tabEtape[$j]->nom.' le '.$monTournoi->tabEtape[$j]->dateEtape.'</a><br>';
//$editionContent .= '<div id=etape'.$monTournoi->id.$monTournoi->tabEtape[$j]->id.' class=etape></div>';
}
$fiche->texte .= '<a href="javascript:showContent(\'edition'.$monTournoi->id.$monTournoi->tabSaison[$i].'\',\''.$editionContent.'\')">'.$monTournoi->tabSaison[$i].'</a><br>';
$fiche->texte .= '<div id="edition'.$monTournoi->id.$monTournoi->tabSaison[$i].'" class="tournoi"></div>';
}

Comme tlm peut le remarquer je vais en fait faire un echo d'une variable PHP contenant un appel d'une fonction javascript dans laquelle je veux passer une longue chaine de caractère. J'entends par "longue chaine" un texte provenant d'un champ d'une base mysql de type "text" soit 2^16 caractères à peu près. Le problème est en fait le suivant: chaque navigateur recevant le code HTML va de lui même générer des retour à la ligne (\n) lorsqu'un chaine de caractère est trop longue (diffère suivant les navigateurs). Or JavaScript, contrairement à PHP, ne va pas de lui même à la ligne chercher la suite de la chaine jusqu'au ' ou " de fin. S'il ne rencontre pas le ' ou " de fermeture avant la fin de la ligne il génère une erreur du style "chaine non terminée". Ceci se part lorsque créer la chaine et les sauts de ligne manuelement en fermant chaque fin de ligne comme suit:
"ligne 1" +
"ligne 2" +
ligne 2" +
ou de même avec une apostrophe. On fait une concaténation de chaine pour qu'il comprenne. Seulement voilà, je crée tout ça dynamiquement, je ne sais pas où il fou les passages à la ligne...etc...
Notons enfin que tout ça se trouve en plus dans 2 boucles imbriquées PHP et que la chaine peut en réalité dépasser les 2^16 voir 2^17 caractères ;-)
Je sais c'est de la folie. Je vais d'ailleur surement faire autrement finalement. Mais toute fois, j'aimerai trouver une solution, juste pour le plaisir.
Merci aux amateurs de casse-tête.
Wolverine


Réponses

 sp spRe: A l'aide, comment passer un long texte en paramètre??? Oznog4/6/2004
 sp spRe: A l'aide, comment passer un long texte en paramètre??? Oznog4/6/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@