rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

PHP probleme sur script pour mise en page

  Posté par louiji, le samedi 2 février 2008 à 09:50:52
Bonjour,

je comprend pas pourquoi ca boucle a l'infini (et plante donc) a cette endroit:
while(strlen($longchaine) >= $nbrmaxcharparligne)
{
$chaineexam = substr($longchaine, 0, $nbrmaxcharparligne);

Merci de votre reponse
ca fait 3 jours que je capte pas


code complet:

function formatforprint($nbrmaxcharparligne, $nbrmaxligneparpage, $chaine){
/*
cette fonction permet de retourner un tableau dont chaque element represente des pages et chaque element pages contient (un tableau) des elements lignes.
$nbrmaxcharparligne : nombre de caractere maximum par ligne
$nbrmaxligneparpage : nombre de ligne maximum par page
$chaine : chaine de caractere a etudier
*/
// 1 /on divise le texte par rapport a ses retour a la ligne dans un tableau
$tableaudeligne=split(chr(13),$chaine);
$nbrligne=0;

//2 / on va regarder pour chaque ligne si elle fait plus que le nombre maximum de caractere max, si oui on la divise en element suivant le nombre de caractere max par ligne (en plus j'ai ajoute le fait de ne pas diviser les mot si cela font moins du nombre de caractere max par ligne) sinon on rajoute juste une ligne tel qu'elle
foreach($tableaudeligne as $nrdeligne => $lignedetexte){
$longchaine=$lignedetexte;
if($longchaine < $nbrmaxcharparligne)
{
$nrpage=floor($nbrligne/$nbrmaxligneparpage)+1; //calcul du numero de la page en cour
$tablpage[$nrpage][]=$lignedetexte;
$nbrligne++;
}else{

while(strlen($longchaine) >= $nbrmaxcharparligne)
{
$chaineexam = substr($longchaine, 0, $nbrmaxcharparligne); //on obtient une chaine avec le nombre de caractere maxi par ligne
if((strrpos($chaineexam, chr(32))==="FALSE")) { $espace = $nbrmaxcharparligne;} else { $espace = strrpos($chaineexam, chr(32));}
// on obtient la position du dernier espace de cette ligne
//1 ajouter dans le tableau representant page ligne la ligne et la page correspondante ( tableau[n° de page][n° de ligne])
$nrpage=floor($nbrligne/$nbrmaxligneparpage)+1; //calcul du numero de la page en cour (sachant qu'il y a 20 ligne par page)

$tablpage[$nrpage][]=substr($longchaine, 0, $espace);
$longchaine=substr($longchaine,($espace ));
$nbrligne++;
}
$nrpage=floor($nbrligne/$nbrmaxligneparpage)+1;
$tablpage[$nrpage][]=$longchaine;
$nbrligne++;
}
}
return $tablpage;
}
Répondre à louiji  Signaler ce message aux modérateurs
Logiciels pertinents trouvés dans les téléchargements
Télécharger All In One Video Script 1.0All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger PagePlus SEPagePlus - PagePlus SE est un logiciel gratuit de PAO (publication assistée par ordinateur) permettant de concevoir et de créer des...Catégorie: Présentation
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger PageDefrag 2.32PageDefrag - Le défragmenteur de disque de Windows fait un boulot correct, mais il a un inconvénient : il ne défragmente ni le fichier...Catégorie: Formatage/Partitionnement
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « PHP probleme sur script pour mise en page »