2016-03-31 14 views
2

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 "%"; } ?> 
+0

while(...); '<<<文の最後で、"有効な "構文とみなされます。 –

+0

私はあなたの推薦を理解するか分からない。あなたは詳細を教えてくれますか? – user3258571

+0

セミコロンがあなたのステートメントを「終了」していることを意味します。それを除く。 –

答えて

0

私は解決策を見つけました。

export.php?recordID=<?php 
$filter=isset($_POST['selFilter']) ? $_POST['selFilter'] : '%'; 
echo "/export_student.php?recordID=$filter"; 
?> 

stackoverflowのからの中古ソリューション:PHP: "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset"

私のクエリは上のベース未定義のインデックスをトリガして以来、私はちょうど

$filter=isset($_POST['selFilter']) ? $_POST['selFilter'] : '%'; 

$filter=isset($_POST['selFilter']) ? $_POST['selFilter'] : ''; 

を置換する変更のエクスポートリンク私のオプションメニューは値を設定しませんでした。

関連する問題