MYSQLクエリをフィルタリングするオプションメニュー(selFilter)があります。オプションメニューの選択肢は、2番目のPHPページをフィルタリングするリンクで使用されます。 ? export.phpレコードID =空白のレコードを示すURLからの呼び出し
<select name="selFilter" id="selFilter" onchange="formFilter.submit()">
<option value="%">all levels</option>
<?php
do {
?>
<option value="<?php echo $row_RecordsetLevel['Level']?>"<?php if
($varFilter_Recordset3 == $row_RecordsetLevel['Level']) {echo 'selected';}
?>>level: <?php echo $row_RecordsetLevel['Level']?></option>
<?php
} while ($row_RecordsetLevel = mysql_fetch_assoc($RecordsetLevel));
$rows = mysql_num_rows($RecordsetLevel);
if($rows > 0) {
mysql_data_seek($RecordsetLevel, 0);
$row_RecordsetLevel = mysql_fetch_assoc($RecordsetLevel);
}
?>
</select>
二PHPページには、以下を使用して.csvにエクスポートするためのクエリを使用しています:オプション(selFilterが)で選択されたときに
$colname = "%";
if (isset($_GET['recordID'])) {
$colname = $_GET['recordID'];
}
$query = sprintf('SELECT Name, ID
FROM schedule WHERE Level LIKE %s ORDER BY Name',
GetSQLValueString("%".$colname."%", "text"));
$result = mysql_query($query, $conn) or die(mysql_error($conn));
//
// send response headers to the browser
// following headers instruct the browser to treat the data as a csv file
called export.csv
//
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=export.csv');
すべてが正常に動作しますindex.phpファイルを開き、export.phpをクリックします。問題は、オプションメニューで何も選択せずにexport.phpリンクをクリックすると、URL文字列がexport.php?recordID =とrecordID =空白になることです。その空白は、レコードをゼロにすることはありません。オプションメニューのレベルを選択し、すべてのレベルをクリックすると、URLはexport.php?recordID =%で正しくエクスポートされます。どちらの呼び出しからでもエクスポートできるように修正する必要はありますか?
私は次のことを試してみましたが、輸出のURLはまだ白紙です:
export.php?recordID=<?php $filter=$_POST['selFilter']; if (!empty($filter)) { echo "%"; } ?>
while(...); '<<<文の最後で、"有効な "構文とみなされます。 –
私はあなたの推薦を理解するか分からない。あなたは詳細を教えてくれますか? – user3258571
セミコロンがあなたのステートメントを「終了」していることを意味します。それを除く。 –