Pb rajout saut de page

Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008 - 9 déc. 2007 à 14:50
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008 - 13 déc. 2007 à 11:08
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

kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
9 déc. 2007 à 18:20
$i=0;

boucle enregistrement :

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

J'espere que sa peut t'aider ++

Kevin
0
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008
9 déc. 2007 à 21:31
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.
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
9 déc. 2007 à 21:49
Explique toi comme ca pour une page ?
0
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008
9 déc. 2007 à 22:17
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
9 déc. 2007 à 22:23
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é

++
0
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008
9 déc. 2007 à 23:00
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.
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
10 déc. 2007 à 01:28
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
0
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008
10 déc. 2007 à 22:15
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.
0
pmtjnden Messages postés 14 Date d'inscription lundi 28 mars 2005 Statut Membre Dernière intervention 4 juillet 2011
12 déc. 2007 à 14:33
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
0
Falcon074 Messages postés 23 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 12 avril 2008
13 déc. 2007 à 11:08
Salut  !!!

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

@+ et merci encore !

Falcon074.
0
Rejoignez-nous