我想根據用戶提交的選擇顯示數據庫表中的一些行。這裏是我的表單代碼複選框,SQL選擇語句和PHP
<form action="choice.php" method="POST" >
<input type="checkbox" name="variable[]" value="Apple">Apple
<input type="checkbox" name="variable[]" value="Banana">Banana
<input type="checkbox" name="variable[]" value="Orange">Orange
<input type="checkbox" name="variable[]" value="Melon">Melon
<input type="checkbox" name="variable[]" value="Blackberry">Blackberry
從我的理解我將這些值放入一個稱爲變量的數組中。 我的兩個欄被稱爲receipe名稱和成分(每個成分下的領域可以存儲一些水果)。我想要做的是,如果選擇了多個複選框,則會顯示相應的名稱。
這是我的php代碼。
<?php
// Make a MySQL Connection
mysql_connect("localhost", "*****", "*****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());
$variable=$_POST['variable'];
foreach ($variable as $variablename)
{
echo "$variablename is checked";
}
$query = "SELECT receipename FROM fruit WHERE $variable like ingredients";
$row = mysql_fetch_assoc($result);
foreach ($_POST['variabble'] as $ingredients)
echo $row[$ingredients] . '<br/>';
?>
我對php很新,只是希望顯示數據,我不需要對它執行任何操作。我已經嘗試了很多選擇語句,但是我無法獲得任何顯示結果。我的數據庫連接是好的,它確實打印出哪些變量被檢查。
非常感謝提前。
編輯:
感謝回答一百萬。但是,我試圖糾正我自己的代碼=空白頁和上述兩個解決方案==空白頁也。 GRRRR!這是我嘗試的一個解決方案。
<?php
// Make a MySQL Connection
mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
$query = "SELECT receipename FROM fruit ";
$cond = "";
foreach($variable as $varname)$cond .= " $varname like 'ingredients' OR";
$cond = substr_replace($cond, '', -2);
$query .= " WHERE $cond";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo $row['receipename'],'<br />';
}
我也試過
<?php
// Make a MySQL Connection
mysql_connect("localhost", "24056", "project99") or die(mysql_error());
mysql_select_db("24056db2") or die(mysql_error());
$variable=$_POST['variable'];
foreach ($variable as $variablename)
{
$query = "SELECT receipename FROM horse WHERE ingredients = '".$variablename."'";
while($row = mysql_fetch_assoc($query))
{
echo $row['receipename']."<br/>";
}
}
?>
我想另一種方式說,如果該複選框變量等於成分列下的記錄,我想打印出記錄的receipename。 在這裏我幾乎感到困惑mysellf,哈哈。
任何其他的想法,我可以嘗試?
我可以看到表receipename(或recipename)的結構嗎? – webbiedave 2010-04-28 04:42:17
變量是錯誤拼寫在您的代碼示例:foreach($ _POST ['variabble']作爲$成分) – Fenton 2010-04-28 06:34:33
嗨Sohnee,感謝您發現!我改變了它,但仍然沒有區別。 webbiedave我的桌子叫水果,我有兩列,一個叫做receipename,另一個叫做成分。成分由蘋果,香蕉,橙子等組成。 每行都有一個receipename(即黑莓搖)和成分(上面列出的一個或多個)。如果在複選框中選中的成分等於數據庫中的記錄/條目,我希望顯示食譜名稱。那有意義嗎?? – smokey20 2010-04-28 07:06:12