Pb rajout saut de page

Signaler
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008
-
Falcon074
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008
-
Bonjour,

Je cherche un moyen de rajouter un saut de page à la fin de tous les 6 enregistrements issue d'une requête Mysql dont le nombre d'entrée est 30. Cela afin de les imprimer après.

Mais impossible de réaliser ceci malgré mes recherche: Je vous joins le code:

<?php

$nom="";
$prenom="";
$adresse="";
$CP="";
$ville="";
$numtel="";
$commandesG="";
$commandesGimprime="";
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM memo_cmd.commande where datelivr>='$dated' && datelivr<='$datef' ORDER BY datelivr");
$donnees = mysql_fetch_array($retour);
$Nbenreg=$donnees['nbre_entrees'];
$enreg=5;
$enregD=1;
while($enreg<$Nbenreg)
{
if($enreg<$Nbenreg)
{
$reponse=mysql_query("SELECT * FROM memo_cmd.commande where datelivr>='$dated' && datelivr<='$datef' ORDER BY datelivr limit $enregD,$enreg");// On récupère toutes les données concernant les commandes glabales comprise entre la date de début et celle de fin.
while ($donnees= mysql_fetch_array($reponse))// Code permettant de stocker les données concernant le critère de recherche voulue issue de la base de donnée memo_cmd.commande dans les variables suivantes:
{
$commandesG.="* Nom:"." ".$donnees['nom']." ";
$commandesG.="Prénom:"." ".$donnees['prenom']."\n";
$commandesG.=" Adresse:"."µ".$donnees['adresse']." ";
$commandesG.="CP:"." ".$donnees['CP']." ";
$commandesG.="Ville:"." ".$donnees['ville']." ";
$commandesG.="Tél:"." ".$donnees['numtel']."\n";

if(empty($donnees['codepat']))
{
$codepat=$donnees['codepat'];
$codepat="";
}

else
$commandesG.=" Commande n°: ".$donnees['codepat']." ";

if(empty($donnees['codevien']))
{
$codevien=$donnees['codevien'];
$codevien="";
}

else
$commandesG.=" Commande n°: ".$donnees['codevien']." ";

if(empty($donnees['codeboul']))
{
$codeboul=$donnees['codeboul'];
$codeboul="";
}

else
$commandesG.=" Commande n°: ".$donnees['codeboul']." ";

$commandesG.="Livraison: ".$donnees['datelivr']." ";
$commandesG.="Heure: ".$donnees['timelivr']."\n";
$commandesG.=" Type: ".$donnees['typecmd']."\n";

if(empty($donnees['quantite1']))
{
$commandesG.="";
}
else
{
$commandesG.=" Quantité: ".$donnees['quantite1']." ";
$commandesG.=" Produit: ".$donnees['produit1']." ";
if(empty($donnees['part1']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part1'];
}

if(empty($donnees['quantite2']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite2']." ";
$commandesG.=" Produit: ".$donnees['produit2']." ";
if(empty($donnees['part2']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part2'];
}

if(empty($donnees['quantite3']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite3']." ";
$commandesG.=" Produit: ".$donnees['produit3']." ";
if(empty($donnees['part3']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part3'];
}

if(empty($donnees['quantite4']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite4']." ";
$commandesG.=" Produit: ".$donnees['produit4']." ";
if(empty($donnees['part4']))
{
$commandesG.="";
}
else
$commandesG.=" Part: ".$donnees['part4'];
}
$commandesG.="\n"."\n";
}
$commandesGimprime.=$commandesG.'

';

}
else
{

$commandesGimprime=str_replace("\n","
",$commandesGimprime);
$commandesGimprime=str_replace("µ"," ",$commandesGimprime);
$commandesG=str_replace("µ"," ",$commandesG);
$affiche=$commandesG;
$comptcmdG=2;
mysql_query("UPDATE memo_cmd.etatvar SET comptimprime='$comptcmdG'")or die ("erreur requête");
mysql_query("UPDATE memo_cmd.etatvar SET imprime='$commandesGimprime'")or die ("erreur requête"); }
}
$enregD=$enreg;
$enreg=$enreg+5;
}
?>
Merci d'avance pour vos réponse.

Falcon074.

<!-- / message -->

10 réponses

Messages postés
318
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
$i=0;

boucle enregistrement :

if($i==6)
{
echo '
';
$i=0;
}else $i++;

J'espere que sa peut t'aider ++

Kevin
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008

Salut Kevin !!!

Merci pour ta réponse
Par rapport à ton code exemple j'ai fais ça:
<?php
//Initialisation variables utiliser pour l'affichage des commandes globales.
$nom="";
$prenom="";
$adresse="";
$CP="";
$ville="";
$numtel="";
$commandesG="";
$commandesGimprime="";

$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM memo_cmd.commande where datelivr>='$dated' && datelivr<='$datef' ORDER BY datelivr");
$donnees = mysql_fetch_array($retour);
$Nbenreg=$donnees['nbre_entrees'];
$enregD=1;
while($enreg<$Nbenreg) // Boucle permettant de mémoriser mes enregistrements issue de la base de donnée memo_cmd.commande dans la variable string commandesG.
{

$reponse=mysql_query("SELECT * FROM memo_cmd.commande where datelivr>='$dated' && datelivr<='$datef' ORDER BY datelivr limit $enregD,$enreg"); // On récupère toutes les données concernant les commandes globales comprise entre la date de début et celle de fin avec comme limit l'enregistrement n°1,6,12,18.... à 6,12,18.... jusqu' à $Nbenreg=30.

while ($donnees= mysql_fetch_array($reponse))// Code permettant de stocker les données concernant le critère de recherche voulue issue de la base de donnée memo_cmd.commande dans les variables suivantes:
{
$commandesG.="* Nom:"." ".$donnees['nom']." ";
$commandesG.="Prénom:"." ".$donnees['prenom']."\n";
$commandesG.=" Adresse:"."µ".$donnees['adresse']." ";
$commandesG.="CP:"." ".$donnees['CP']." ";
$commandesG.="Ville:"." ".$donnees['ville']." ";
$commandesG.="Tél:"." ".$donnees['numtel']."\n";

if(empty($donnees['codepat']))
{
$codepat=$donnees['codepat'];
$codepat="";
}

else
$commandesG.=" Commande n°: ".$donnees['codepat']." ";

if(empty($donnees['codevien']))
{
$codevien=$donnees['codevien'];
$codevien="";
}

else
$commandesG.=" Commande n°: ".$donnees['codevien']." ";

if(empty($donnees['codeboul']))
{
$codeboul=$donnees['codeboul'];
$codeboul="";
}

else
$commandesG.=" Commande n°: ".$donnees['codeboul']." ";

$commandesG.="Livraison: ".$donnees['datelivr']." ";
$commandesG.="Heure: ".$donnees['timelivr']."\n";
$commandesG.=" Type: ".$donnees['typecmd']."\n";


if(empty($donnees['quantite1']))
{
$commandesG.="";
}
else
{
$commandesG.=" Quantité: ".$donnees['quantite1']." ";
$commandesG.=" Produit: ".$donnees['produit1']." ";
if(empty($donnees['part1']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part1'];
}

if(empty($donnees['quantite2']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite2']." ";
$commandesG.=" Produit: ".$donnees['produit2']." ";
if(empty($donnees['part2']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part2'];
}

if(empty($donnees['quantite3']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite3']." ";
$commandesG.=" Produit: ".$donnees['produit3']." ";
if(empty($donnees['part3']))
{
$commandesG.="\t";
}
else
$commandesG.=" Part: ".$donnees['part3'];
}

if(empty($donnees['quantite4']))
{
$commandesG.="";
}
else
{
$commandesG.="\n"." Quantité: ".$donnees['quantite4']." ";
$commandesG.=" Produit: ".$donnees['produit4']." ";
if(empty($donnees['part4']))
{
$commandesG.="";
}
else
$commandesG.=" Part: ".$donnees['part4'];
}
$commandesG.="\n"."\n";
}
if(($enreg%6)==0) //Si résultat égale à 0 alors:
{
$commandesGimprime.=$commandesG.'

'; // On insert un saut de page à la fin du 6 éme enregistrement
}
$enregD=$enreg; // Enregistrement 1 passe 6 puis 12 etc...
$enreg=$enreg+6; // Enregistrement 6 passe 12 puis 18 etc...

}

$commandesGimprime=str_replace("\n","
",$commandesGimprime); // On remplace les sauts de ligne par son homologue en Html pour l'impression
$commandesGimprime=str_replace("µ"," ",$commandesGimprime); // On remplace "µ" par un espace.

$commandesG=str_replace("µ"," ",$commandesG); // On remplace "µ" par un espace.

$affiche=$commandesG; // On affiche les commandes globales correspondant au critère choisis dans le textarea.
$comptcmdG=2;
mysql_query("UPDATE memo_cmd.etatvar SET comptimp='$comptcmdG'")or die ("erreur requête"); // Compteur permettant de différencier le document à imprimer.
mysql_query("UPDATE memo_cmd.etatvar SET imprime='$commandesGimp'")or die ("erreur requête"); On sauvegarde le contenu de la variable commandesGimprime dans la base de donnée memo_cmd.etatvar pour impression de celui-ci.
?>

Mais cela fonctionne que pour une page.

Peut tu me dire ce qui va pas dans mon code.

Merci.

Falcon074.
Messages postés
318
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
Explique toi comme ca pour une page ?
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008

En fait quand je dis que cela fonctionne que sur une page c'est sur la 1 ère page. En effet il n'y a pas pas de pb pour l'impression de la 1 ère page j'ai bien 6 enregistrements d'imprimer puis un saut de page. Mais sur la deuxième j'ai 7 ou 8 enregistrement qui seront imprimés et un saut de page qui ce fait n'importe quand.

Ce que je veut faire plus précisement c'est obtenir ça:

limit 1 à 6 = 6 enregistrement imprimer sur la 1ère page et saut de page
limit 6 à 12 = 6 enregistrement suivant sur la deuxième page et saut de page
etc.... jusqu'à 30

Voilà tu sais tout alors si tu as une soluce.

Merci

Falcon074.
Messages postés
318
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
Ben ca devrais marcher avec le code que je te donne il fait un saut de ligne tout les 6 de le boucle
sinon fait un


Pour doublé

++
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008

Tu peux me donner le code qui gère la boucle d'enregistrement stp car je sais pas si ce que j'ai fait est bon.

merci.

Falccon074.
Messages postés
318
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
ben dans ton while ($donnees= mysql_fetch_array($reponse))

tu fait
while ($donnees= mysql_fetch_array($reponse))
{
if($i==6)
{
echo '
';
$i=0;
}else $i++;

}

rien de plus simple ++

kevin
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008

Salut Kevin !

Merci de ta patience.
 
j'ai essayer ta soluce mais c'est tjrs pareil  !!!! je comprends pas ça met bien le saut de page à la fin du 6ème enregistrement sur la première page puis après j'ai un saut de page n'importe où dans la page ! ou encore en plein milieu d'un enregistrement !  . J'ai oublié de te précisé que mes enregistrements on une taille de caractère qui varie. C'est possible de créer un document word où je peux écrire mes enregistrement pour les imprimer après car avec un document word je pense que les saut de page se feront automatiquement non ?
Je te joint le code que j'ai fait par rapport à ton code exemple:

<?php

$enreg=0;

$reponse=mysql_query("SELECT * FROM memo_cmd.commande where datelivr>='$dated' && datelivr<='$datef' ORDER BY datelivr");

while ($donnees= mysql_fetch_array($reponse))
{
   $commandesG.="* Nom:"." ".$donnees['nom']." ";
     $commandesG.="Prénom:"." ".$donnees['prenom']."\n";
     $commandesG.="  Adresse:"."µ".$donnees['adresse']." ";
     $commandesG.="CP:"." ".$donnees['CP']." ";
     $commandesG.="Ville:"." ".$donnees['ville']." ";
     $commandesG.="Tél:"." ".$donnees['numtel']."\n";
     $commandesG.="\n"."\n";
     if($enreg==6)
     {
         $commandesG.='

';
         $enreg=0; 
     }
           
      $enreg++;
}      
?>

Voilà tu sait tout si tu peux m'aider !

@+ Falcon074.
Messages postés
14
Date d'inscription
lundi 28 mars 2005
Statut
Membre
Dernière intervention
4 juillet 2011

Bonjour,

rajouter plein de
ne sert à rien

l'idée est de rajouter un
qui provoque le saut de page lors de l'impression (il sera invisible à l'écran)...

l'imprimante fait une ejection de page avant la balise
à chaque fois qu'elle rencontre ce code.

dans ta boucle while, (au début)
tu écris :

if((($i++) %6)==0) {echo "

";}

Attention : la variable $i ne doit pas etre utilisée ailleurs.

 Phil
Messages postés
23
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
12 avril 2008

Salut  !!!

Je vous remerci pour votre aide j' ai résolu mon pb !!! enfin je vais pouvoir me reposer !!!

@+ et merci encore !

Falcon074.