[英]Getting PHP and MySQL to read url
因此,我希望能夠在SQL中使用WHERE命令從表中選擇某些值。 這是我當前的代碼,但是不起作用
$MobileNumber = $_GET["MobileNumber"];
$TeamGroup = $_GET["TeamGroup"];
if($_REQUEST=['MobileNumber']) {
$Item = "SELECT a,b,c,d FROM Item WHERE MobileNumber = $MobileNumber";
} elseif($_REQUEST=['TeamGroup']) {
$Item = "SELECT a,b,c,d FROM Item WHERE TeamGroup = $TeamGroup";
} else {
$Item = "SELECT a,b,c,d FROM Item";
};
$result = mysql_query($Item) or die ("Error in query: $query. ".mysql_error());
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($result);
print '<table><tr>';
foreach($row as $name => $value) {
print "<th>$name</th>";
}
print '</tr>';
while($row) {
print '<tr>';
foreach($row as $value) {
print "<td>$value</td>";
}
print '</tr>';
$row = mysql_fetch_assoc($result);
}
print '</table>';
} else {
echo "No Items Assigned";
};
它適用於URL為test.php?MobileNumber=...
但不適用於包含TeamGroup或URL中沒有任何內容的情況。 我擁有的網址是這樣的: test.php?TeamGroup=11
編輯:添加了更多的代碼,讓您看到我想要顯示的內容
如果要使用if條件比較某項,則必須像這樣
if(something == true){
// then do something
}
else{
//do something
}
查看手冊以了解更多
您要執行的操作在php中不是有效的。您需要更改此設置
if($_REQUEST=['MobileNumber']){
我想你可以這樣嘗試
if(isset($_GET['MobileNumber']) && trim($_GET['MobileNumber'])){
和
elseif(isset($_GET['TeamGroup']) && trim($_GET['TeamGroup'])){
if($_REQUEST=['MobileNumber']){
其語法錯誤
嘗試這個
在您的url ?MobileNumber=Put your mobile num here
添加此行url ?MobileNumber=Put your mobile num here
。 謝謝
比Team group再一次?TeamGroup=put team group here
。
if($_GET['MobileNumber']==TRUE){
$MobileNumber=$_GET['MobileNumber'];
$Item = "SELECT a,b,c,d FROM Item WHERE MobileNumber = $MobileNumber";
}
elseif($_GET['TeamGroup']==TRUE){
$TeamGroup=$_GET['TeamGroup'];
$Item = "SELECT a,b,c,d FROM Item WHERE TeamGroup = $TeamGroup";
}
else{
$Item = "SELECT a,b,c,d FROM Item";
}
這應該工作...
if(isset($_GET['MobileNumber'])) //can also use if(isset($_GET['MobileNumber']) && !empty($_GET['MobileNumber']))
{
$Item = "SELECT a,b,c,d FROM Item WHERE MobileNumber = ".$MobileNumber;
}
elseif(isset($_GET['TeamGroup']))
{
$Item = "SELECT a,b,c,d FROM Item WHERE TeamGroup = ".$TeamGroup";
}
else{
$Item = "SELECT a,b,c,d FROM Item";
}
這個說法:
if($_REQUEST=['MobileNumber'])
始終為true,因為您正在將['MobileNumber']數組分配給$ _REQUEST全局變量。
如果要檢查是否在$ _REQUEST全局變量中設置了值,請執行以下操作:
if( isset($_REQUEST['MobileNumber']))
您可以嘗試以下方法:
$MobileNumber = $_GET["MobileNumber"];
$TeamGroup = $_GET["TeamGroup"];
if(isset($_GET["MobileNumber"])) {
//If you enclose fields/table in `` and values in '' you won't run into quoting issues
//It's OK to not quote numbers, but you can quote them to stay standard
$Item = "SELECT `a`, `b`, `c`, `d` FROM `Item` WHERE `MobileNumber` = '$MobileNumber'";
};
if(isset($_GET["TeamGroup"])) {
$Item = "SELECT `a`, `b`, `c`, `d` FROM `Item` WHERE `TeamGroup` = '$TeamGroup'";
};
if(!isset($_GET["MobileNumber"]) && !isset($_GET["TeamGroup"])) {
$Item = "SELECT `a`, `b`, `c`, `d` FROM `Item`";
};
//Switch to mysqli_*
$result = mysqli_query($dbLink, $Item) or die ("Error in query: $Item. " . mysqli_error());
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
print '<table><tr>';
foreach($row as $name => $value) {
print "<th>$name</th>";
};
print '</tr>';
while($row) {
print '<tr>';
foreach($row as $value) {
print "<td>$value</td>";
};
print '</tr>';
$row = mysqli_fetch_assoc($result);
};
print '</table>';
} else {
echo "No Items Assigned";
};
那
or die
捕獲(您正在引用似乎不存在的$ query)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.