變量的值傳遞到另一個頁面,我初學PHP MySQL的,
我想問我怎麼能傳遞變量的值 另一個頁面,例如:
我有所有下拉式的輸入表格將用於搜索條件。 它可以調用的變量與SQL查詢這樣的值:
使用按鈕PHP MySQL的
在此示例中,我設置了$sql
到Page1.php
,我想它調用Page2.php
$sql = "SELECT * table
WHERE column1 = '".$variable1."'
AND column2 = '".$variable2."'
AND column3 = '".$variable3."' ";
OR
如果這種情況可以被調用或轉移或傳遞到另一個頁面?
if ($result=mysql_query($sql)) {
$query_num_rows = mysql_num_rows($result);
if($query_num_rows == 0){
echo "<script> alert('No Records Found!')</script>";
} else {
while($row=mysql_fetch_array($result)){
我這樣做,因爲我想有單獨的代碼生成到CSV因爲如果我用這個在同一個頁面,由於FF:
- 它只是提示空白頁面,並自動生成報告,而無需詢問條件。
- 我無法查看搜索表單的用戶界面
- 它還生成代碼的CSV
欲瞭解更多信息,這裏是我的所有代碼:
報告。 php
<?php
session_start();
include_once "dbconnect.php";
date_default_timezone_set('Hongkong');
//Validate Login
$res=mysql_query("SELECT * FROM accounts WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
if(!isset($_SESSION['user']))
{
header("Location: index.php");
}//end of Validation Login
//Setting up Variables for Search form
if (isset($_POST['generate'])) {
$month = htmlentities(mysql_real_escape_string($_POST['month']));
$year = htmlentities(mysql_real_escape_string($_POST['year']));
$status = htmlentities(mysql_real_escape_string($_POST['status']));
if (empty($month) && empty($year) && empty($status)) {
echo '<script>alert(\'Select atleast 1 filter\')</script>';
exit;
}
//condition of search
//Single Search
if (!empty($month)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`month` = '".$month."'
ORDER BY `cus_id` ASC ";
} if (!empty($year)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`year` = '".$year."'
ORDER BY `cus_id` ASC ";
} if (!empty($status)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`status` = '".$status."'
ORDER BY `cus_id` ASC ";
//Compound Search
} if (!empty($month) && !empty($year)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`month` = '".$month."'
AND `transactions`.`year` = '".$year."'
ORDER BY `cus_id` ASC ";
} if (!empty($month) && !empty($status)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`month` = '".$month."'
AND `transactions`.`status` = '".$status."'
ORDER BY `cus_id` ASC ";
} if (!empty($month) && !empty($status) && !empty($year)) {
$sql = "SELECT `subscribers`.`cus_id`, `subscribers`.`fName`, `subscribers`.`lName`,`transactions`.`month`,
`transactions`.`year`, `transactions`.`subscriptionStart`,`transactions`.`subscriptionEnd`,`transactions`.`subsStatus`
FROM `subscribers`
INNER JOIN `transactions`
ON `subscribers`.`cus_id` = `transactions`.`cus_id`
WHERE
`transactions`.`month` = '".$month."'
AND `transactions`.`status` = '".$status."'
AND `transactions`.`year` = '".$year."'
ORDER BY `cus_id` ASC ";
}
//Is this possible to transfer to another page? I'll be using this for generate.csv
//FROM here
if ($result=mysql_query($sql)) {
$query_num_rows = mysql_num_rows($result);
if($query_num_rows == 0){
echo "<script> alert('No Records Found!')</script>";
} else {
while($row=mysql_fetch_array($result)){ // is this possible to move in another page?
echo "I removed the Table here because it's not important";
//Please any tips what I can add here?
}// end of while
}//end of else
// TO HERE
}//end of POST, setting up of variables
?>
<html>
<body>
<form action="generate-csv.php" method="POST">
<label>Month</label>
<select>
<option>JANUARY</option>
<option>fEBRUARY</option>
<option>MARCH</option>
<option>so on...</option>
</select>
<label>Year</label>
<select>
<option>2015</option>
<option>2014</option>
</select>
<label>Status</label>
<select>
<option>FRESH</option>
<option>RENEWAL</option>
<option>WINBACK</option>
</select>
<input type="submit" name="generate" value="GENERATE">
</form>
</body>
generate.php
<?php
include_once "dbconnect.php";
include_once "report.php";
//$sql will came from report.php
if($result = mysql_query($sql)){
if (mysql_num_rows($result) > 0) {
$columns_total = mysql_num_fields($result);
// Get The Field Name
for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($result, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";
} while($row = mysql_fetch_array($result)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}
$filename = "myFile.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
echo $output;
exit;
}?>
'$ _GET'變量,'$ _POST'變量或'$ _SESSION'變量(一個或多個),每個人都可以解決你的問題。 –
您可以使用'$ _SESSION'變量 – sandeepsure