pb avec switch

mlamla
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 16:41

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

ViPHP
fab
ViPHP | 2657 Messages

01 mars 2005, 17:01

le probleme ne vient pas du switch il a l'air tout a fait correct

mlamla
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 17:02

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.

ViPHP
fab
ViPHP | 2657 Messages

01 mars 2005, 17:05

affiche la sourcedu rendu et vérifi par toi meme

mlamla
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 17:06

g pa trop compri ce ke tu ve dire

ViPHP
fab
ViPHP | 2657 Messages

01 mars 2005, 17:07

execute ton script , fait afficher la source dans ton naviguateur et regarde si ce qu'il sort est bien ce que tu veux

mlamla
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 17:08

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.

ViPHP
fab
ViPHP | 2657 Messages

01 mars 2005, 17:09

c'est pas le code propre que je veux c'est ce que reçoit le naviguateur apres execution du PHP cad du HTML

Invité
Invité n'ayant pas de compte PHPfrance

01 mars 2005, 17:12

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.

ViPHP
ViPHP | 60 Messages

01 mars 2005, 23:42

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

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

01 mars 2005, 23:53

le probleme ne vient pas du switch il a l'air tout a fait correct
Merci, j'en suis l'auteur ! :langue: :wink:

mlamla
Invité n'ayant pas de compte PHPfrance

02 mars 2005, 12:36

waw ...Merci les amis...
ça marche a merveillle mnt
encore une fois 10000 merci