2013-03-06 75 views
0

我想在按下按鈕時在單獨的窗口中使用某些PHP數據打印HTML表格。什麼是最好的方式來做到這一點?如何在單獨的窗口中打印html表格

<table border="1"> 
    <tr> 
     <td>MODEL</td> 
     <td><?php echo $modelNo ?></td> 
     <td>MODEL</td> 
     <td><?php echo $modelNo ?></td> 
    </tr> 
    <tr> 
     <td>QTY</td> 
     <td><?php echo $box ?></td> 
     <td>QTY</td> 
     <td><?php echo $box ?></td> 
    </tr> 
</table> 
+1

這裏的問題不是關於PHP,而是關於HTML。您的PHP程序不會在任何地方打印。它創建瀏覽器請求的輸出。這裏的技巧(在下面的答案中)是讓HTML在另一個窗口中打開一個新鏈接。 – 2013-03-06 03:04:41

回答

1

讓按鈕打開新窗口,並將其位置設置爲打印表格的PHP文件。

東西這麼簡單可以工作:

<a href="show_table.php" target="_blank">Click</a> 

(您可以選擇風格這個鏈接看起來像一個按鈕)

0

您將需要有這樣的表從PHP腳本退還,或某處可用(我假設你已經這樣做了)。

這是一個純粹的HTML方法:

<a href="tabledata.php" target="_blank">Open Table!</a> 

這裏是一個JavaScript方法:

<script type="text/javascript"> 
<!-- 
function myPopup() { 
window.open("http://path.to.my.page.com/mypage.php") 
} 
//--> 
</script> 
</head> 
<body> 
<form> 
<input type="button" onClick="myPopup()" value="Open table!"> 
</form> 
<p onClick="myPopup()">CLICK ME TOO!</p> 
0

你也可以有一個隱藏的輸入HTML和使用的形式提交給其他頁面並從$ _POST那裏檢索它,如同假設$ table_data是你的html:

<form action="new_window.php">  
<input type="hidden" value="$table_data" name="data"> 
<input type="submit" value="Open Table"> 
</form> 

然後在new_window.php:

if(isset($_POST['data'])){ 
echo $_POST['data']; 
} 
0

您還可以通過創建一個新窗口並在窗口中寫入內容來在javascript中創建整個解決方案。

看到的基本方法寫在一個新的窗口,在這裏: http://www.w3schools.com/jsref/met_win_open.aspPrint the contents of a DIV

你將不得不一個id屬性添加到您的表

然後用DOM功能,如播放: https://developer.mozilla.org/en-US/docs/DOM/document.getElementByIdhttps://developer.mozilla.org/en/docs/DOM/element.innerHTML

您將不得不將表格包裝到html中。這種方法的主要優點是可以在任何表格上調用,而無需添加一行php。