各位大大 小弟是剛學PHP的新手 想用PHP寫個多條件查詢資料庫的網頁
有三個條件 日期與日期之間 品牌 商品 然後把包含這些條件的相關資料全部顯示出來
但是怎麼都抓不出來 程式碼如下
wwwwww.php
<?php
header("Content-Type: text/html; charset=utf-8");
$db_host = "localhost";
$db_table = "www";
$db_username = "root";
$db_password = "";
if (!@mysql_connect($db_host, $db_username, $db_password)) die("資料連結失敗!");
if (!@mysql_select_db($db_table)) die("資料庫選擇失敗!");
mysql_query("SET NAMES 'utf8'");
$date = $_GET['GET_date'];
$date1 = $_GET['GET_date1'];
$sql ="select * from yy where date,CU,CC;
$result = mysql_query($sql) or die('MySQL query error');
?>
<html>
<head>
<form action="wwwwww.php" method="GET">
<font color="green" size="5">查詢系統</font><br></br>
進貨日:
<input type="date" name="date" value="<?= $date ?>"
min="<?php echo date ("Y-m-d",strtotime("-1 years")); ?>"
max="<?php echo date ("Y-m-d",strtotime("now")); ?>">
出貨日:
<input type="date" name="date1" value="<?= $date1 ?>"
min="<?php echo date ("Y-m-d",strtotime("-1 years")); ?>"
max="<?php echo date ("Y-m-d",strtotime("now")); ?>">
品牌:<select name="CU" id="CU">
<option value="*">不拘</option>
<option value="00">品牌1</option>
<option value="01">品牌2</option>
<option value="011">品牌3</option>
<option value="01A">品牌4</option>
<option value="02D">品牌5</option>
<option value="01O">品牌6</option>
</select>
商品:<select name="CC" id="CC">
<option value="*">不拘</option>
<option value="A">商品1</option>
<option value="A1">商品2</option>
<option value="A2">商品3</option>
<option value="AB">商品4</option>
<option value="B">商品5</option>
<option value="B1">商品6</option>
<option value="BA">商品7</option>
<option value="BB">商品8</option>
</select>
<input name="submit" type="submit" value="開始查詢"><br>
</form>
<? echo $row[date]; ?>
<? echo $row[CU]; ?>
<? echo $row[CC]; ?>
<? echo $row[name]; ?>
<? echo $row[number]; ?>
</head>
</html>
想知道問題在哪 謝謝
前幾天有試著做只有日期的 但也是在SELECT這邊出錯
input.php
<html><head>
<title>輸入日期查詢資料</title>
</head><body>
<form action="test.php" method="Post">
進貨日:
<input type="date" name="date" value="<?= $date ?>"
min="<?php echo date ("Y-m-d",strtotime("-1 years")); ?>"
max="<?php echo date ("Y-m-d",strtotime("now")); ?>">
出貨日:
<input type="date" name="date1" value="<?= $date1 ?>"
min="<?php echo date ("Y-m-d",strtotime("-1 years")); ?>"
max="<?php echo date ("Y-m-d",strtotime("now")); ?>">
<input name="submit" type="submit" value="開始查詢"><br>
</form>
</body></html>
test.php
<html><head>
<title>查詢結果</title>
</head><body>
<?
$date=$_REQUEST["date"];
?>
</body></html>
<?php
$db_host = "localhost";
$db_table = "www";
$db_username = "root";
$db_password = "";
$conn = mysql_connect($db_host, $db_username, $db_password) or die('Error with MySQL connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($db_table);
$date = $_POST['POST_date'];
$date1 = $_POST['POST_date1'];
SELECT * FROM yy WHERE date BETWEEN '$date' AND '$date1';
$result = mysql_query($sql) or die('MySQL query error');
while($row = mysql_fetch_array($result))
{
echo $row['numble']." ";
echo $row['name']."<br>";
}
?>
問題在於你沒有按部就班的學習
先把這篇仔細看懂
再拿去改成你要的
過程碰到問題再上來問
邦友們可以從你的問題中判斷
你是認真在學習或者只是玩票性質
另外
我要向討厭SQL-injection的邦友說聲抱歉
對還沒確定是工作上需要或是交作業的初心者
我實在沒有意願管他什麼injection
其實倒不先說sql injection啦!
但是應該要請他直上PDO的。
看看他之後的回應再說吧
如果有的話...
那篇之前有看過呢 不過還是一直跑出錯誤 這次有加上顯示
你如果有看懂的話
是不會寫出下面這列程式碼的
SELECT * FROM yy WHERE date BETWEEN '$date' AND '$date1';
To:Samと可樂快跑
看了他的回應
你覺得還需要講 PDO 嗎?
還是要啊!不論何時何地都要PDO喔!
雖然換了PDO他的問題還是一樣就是了。
不過我想他最需要的果然還是能夠基礎告知語法錯誤的ide吧……
不然怎麼會貼一run就絕對error的code上來。
我個人覺得...
還是先扎扎實實的把最基礎的寫法都了解之後再請他了解PDO,
PDO是要會沒錯,但是應該不是現在,一步一步來,
現在這些問題如果搞不定,也不用說到什麼PDO了吧0.0"
以目前來說,"直上"PDO,我覺得不適當XD
直上PDO已經是基礎課題了。
怎麼會不適當?
如果裝的是php7的情況下基本上連mysql()指令集都完全不能使用。
那初學不學PDO……學mysqli?
說真的學mysqli還是不如直上PDO吧!
把PDO視為「基礎課程」就不會再有適不適當的問題了。
明明就已經是被官方拋棄的作法除了維護舊系統外沒有使用必要性的東西。
何以還要繼續學習或使用?
難不成真要等到那一天連官方都把mysqli給廢掉了。
才來跟初學者說:你只有PDO這條路?
不要再推廣舊的不合時宜的被廢棄的函式集了。
echo "I Have a Pen";
echo "I Have a Durian";
echo "Oh~~!";
echo "PDO";
<html><head>
<title>查詢結果</title>
</head><body>
<?
$date=$_REQUEST["date"];
?>
</body></html>
<?php
$db_host = "localhost";
$db_table = "www";
$db_username = "root";
$db_password = "";
$conn = mysql_connect($db_host, $db_username, $db_password) or die('Error with MySQL connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($db_table);
$date = $_POST['POST_date'];
$date1 = $_POST['POST_date1'];
$sql = 'SELECT * FROM yy WHERE date BETWEEN '.$date.' AND '.$date1;
$result = mysql_query($sql) or die('MySQL query error');
while($row = mysql_fetch_array($result))
{
echo $row['numble']." ";
echo $row['name']."<br>";
}
?>