Page 1 sur 1

pb avec switch

Posté : 01 mars 2005, 16:41
par mlamla
slt a tous
je presente mon probleme.
je veux à partir du choix d'une rubrique, generer un document PDF.
j'ai mis cette partie du code et ça marche tres bien:
<div id="onglet"><a href="#" onclick="window.open('op/exp_pdf.php','Export PDF','height=600,width=800,toolbar=0')" class="ong">Export Pdf</a></div><br />
le probleme c'est que j'ai le meme Pdf pour toutes les rubriques.
donc....logiquement j'ai fait un truc avec le switch.
ça donne ça:

<?
$cls=$_GET['cls']; //definie comme hidden.elle contient le nom de mes rubriques
switch ($cls)
{ case "actu" : $cible = 'op/exp_actuPdf.php'; break;
case "une" : $cible = 'op/exp_unepdf.php'; break;
case "mdr" : $cible = 'op/exp_mdrPdf.php'; break;
case "thm" : $cible = 'op/exp_themPdf.php'; break;
case "rub" : $cible = 'op/exp_rubPdf.php'; break;
default : $cible = 'op/exp_Xpdf.php'; break;
}
echo $cls."==>".$cible; //pour tester
echo '<div id="onglet">';
echo '<a href="#" onclick="window.open($cible, \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />';
?>

ya rien qui se passe apres ka je clik sur l'onglet :export PDf



merci de votre aide

Posté : 01 mars 2005, 17:01
par fab
le probleme ne vient pas du switch il a l'air tout a fait correct

Posté : 01 mars 2005, 17:02
par mlamla
Moi aussi je pense comme toi.
mais la partie :
echo '<a href="#" onclick="window.open($cible, \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />';
na pa l'aire d'etre interprettée.

Posté : 01 mars 2005, 17:05
par fab
affiche la sourcedu rendu et vérifi par toi meme

Posté : 01 mars 2005, 17:06
par mlamla
g pa trop compri ce ke tu ve dire

Posté : 01 mars 2005, 17:07
par fab
execute ton script , fait afficher la source dans ton naviguateur et regarde si ce qu'il sort est bien ce que tu veux

Posté : 01 mars 2005, 17:08
par mlamla

Code : Tout sélectionner

<? include("include/bd.php"); if(!$_GET[url]){ $_GET[url]="op/graphe.php";} if(!$_GET[cls]){ $_GET[cls]="rub";} if($_GET[Datedeb] && !$_GET[Datefin]){ $ladate=explode("/",$_GET[Datedeb]); $day=date("d/M/Y",mktime(0,0,0,$ladate[1],$ladate[0],$ladate[2])); $requete=" data like '$day%' "; } $inc=0; if($_GET[Datedeb] && $_GET[Datefin]){ do{ $exp=explode("/",$_GET[Datedeb]); $r=date("d/m/Y",mktime(0,0,0,$exp[1],$exp[0]+$inc,$exp[2])); $d[$inc]=date("d/M/Y",mktime(0,0,0,$exp[1],$exp[0]+$inc,$exp[2])); $inc++; }while($r != $_GET[Datefin]); $requete = "("; foreach($d as $value){ $requete.="or data like '$value%' "; } $requete.= ")"; $requete=ereg_replace("\(or","(",$requete); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="expires" content="0" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Statistiques</title> <link href="stats.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="bandeau"><span class="titre">STATISTIQUES</span><br /> www. .fr </div> <div id="bandeau_date"> <form action="" method="get"> <input type="hidden" name="cls" value="<?=$_GET[cls]?>" /> Date d&eacute;but&nbsp;<input name="Datedeb" type="text" class="formdate">&nbsp;&nbsp;&nbsp;&nbsp; Date fin &nbsp;<input name="Datefin" type="text" class="formdate"> (Format jj/mm/aaaa) <input type="submit" value="valider" class="formdate"/> </form> </div> <div id="titre"><a href="./?cls=rub" class="gras">Rubriques</a><a href="./?cls=actu" class="gras">Actualit&eacute;s</a><a href="./?cls=une" class="gras">A la une</a><a href="./?cls=mdr" class="gras">Moteur de Recherche</a><a href="./?cls=thm" class="gras">Thematique</a><a href="admin/" class="gras">???Admin???</a></div> <div id="onglet"><a href="<?=$_SERVER[PHP_SELF]."?url=op/graphe.php&cls=$_GET[cls]"?>" class="ong">Graphe</a></div> <div id="onglet"><a href="<?=$_SERVER[PHP_SELF]."?url=op/exp_xls.php&cls=$_GET[cls]"?>" class="ong">Export Excel</a></div> <!--<div id="onglet"><a href="#" onclick="window.open('op/exp_pdf.php','Export PDF','height=600,width=800,toolbar=0')" class="ong">Export Pdf</a></div><br />--> <? switch ($_GET['cls']) { case "actu" : $cible = 'op/exp_actuPdf.php'; break; case "une" : $cible = 'op/exp_unepdf.php'; break; case "mdr" : $cible = 'op/exp_mdrPdf.php'; break; case "thm" : $cible = 'op/exp_themPdf.php'; break; case "rub" : $cible = 'op/exp_rubPdf.php'; break; default : $cible = 'op/exp_Xpdf.php'; break; } echo $cls."==>".$cible;//pour tester echo '<div id="onglet">'; echo '<a href="#" onclick="window.open($cible, \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />'; ?> <div id="frame"> <?include($_GET[url])?> </div> </body> </html>
voilà en gros ma page index.

Posté : 01 mars 2005, 17:09
par fab
c'est pas le code propre que je veux c'est ce que reçoit le naviguateur apres execution du PHP cad du HTML

Posté : 01 mars 2005, 17:12
par Invité
kan je laisse :
<!--<div id="onglet"><a href="#" onclick="window.open('op/exp_pdf.php','Export PDF','height=600,width=800,toolbar=0')" class="ong">Export Pdf</a></div><br />-->
j'ai le document pdf qui se genere.bien sur il est le meme pour toutes les rubriques.
et kan je met plutot ça:
<?
switch ($_GET['cls'])
{ case "actu" : $cible = 'op/exp_actuPdf.php'; break;
case "une" : $cible = 'op/exp_unepdf.php'; break;
case "mdr" : $cible = 'op/exp_mdrPdf.php'; break;
case "thm" : $cible = 'op/exp_themPdf.php'; break;
case "rub" : $cible = 'op/exp_rubPdf.php'; break;
default : $cible = 'op/exp_Xpdf.php'; break;
}
echo $cls."==>".$cible;//pour tester
echo '<div id="onglet">';
echo '<a href="#" onclick="window.open($cible, \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />';
?>
je n'ai plus aucune reponse.c'est comme si l'onglet Export pdf n'été pas un lien.

Posté : 01 mars 2005, 23:42
par Flood
Hello,

Dans ton script PHP, l'url de destination de la popup générée au clic du lien n'est pas encadrée d'apostrophes, donc ça ne va pas fonctionner...
Au lieu de

Code : Tout sélectionner

echo '<a href="#" onclick="window.open($cible, \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />';
, tu dois utiliser

Code : Tout sélectionner

echo '<a href="#" onclick="window.open(\'$cible\', \'Export PDF\', \'height=600,width=800,toolbar=0\');" class="ong">Export Pdf</a></div><br />';
Au passage, le break est inutile pour ton cas "default"... ;)

/Flood

Posté : 01 mars 2005, 23:53
par albat
le probleme ne vient pas du switch il a l'air tout a fait correct
Merci, j'en suis l'auteur ! :langue: :wink:

Posté : 02 mars 2005, 12:36
par mlamla
waw ...Merci les amis...
ça marche a merveillle mnt
encore une fois 10000 merci