编辑:通过向文件名添加ID属性来检索表条目?

时间:2012-01-03 09:09:06

标签: php mysql

我有一个庞大的场地数据库 - 我想在一个页面中显示这些数据,只会在某种属性中改变为id :(例如:venues.php?id = 1,这将得到来自第1行的所有数据。)

编辑:好的,我更新了代码,这就是现在的样子:

<?php 
 mysql_connect("localhost", "", "") or die(mysql_error()); 
 mysql_select_db("") or die(mysql_error()); 

$id = (int) $_GET['id'];
$data = mysql_query("SELECT * FROM venues WHERE id = ".(int)$id) ;

 or die(mysql_error());
 Print "<table border cellpadding=3>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<tr>"; 
 Print "<th>Name:</th> <td>".$info['VENUE_NAME'] . "</td> "; 
 Print "<th>Address:</th> <td>".$info['ADDRESS'] . " </td></tr>"; 
 } 
 Print "</table>"; 
 ?> 

转到venues.php?id = 1我收到此错误:

  

解析错误:语法错误,意外的T_LOGICAL_OR   第8行/home/nightl7/public_html/demos/venues/venues.php

3 个答案:

答案 0 :(得分:2)

你的意思是:


$id = (int) $_GET['id'];
$data = mysql_query("SELECT * FROM venues WHERE id = ".(int)$id) ;

答案 1 :(得分:1)

为了将id“传递”到你的网址“venues.php?id = 1” 您需要使用带有method = get。

的混合html / php表单

您可以在此处查看示例html表单:w3schools html forms

这就是我要做的事情:

print '<form name="input" action="venues.php" method="get">';
print 'Venue: <select name = "id">';
$con = mysql_connect("","","");
mysql_select_db($dataBase);
if (!$con){die('Could not connect: ' . mysql_error());}
else {
$opt = array();
$optVal = array();
$i = 0;
$sql = "Select * from venues";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
    $opt[$i] = $row['VenueName'];
    $optVal[$i] = $row['VenueID'];
    print "<option value='$optVal[$i]'>$opt[$i]</option>";
    $i++;
}
}
mysql_close($con);
print '</select><br />';
print '<input type="submit" value="Submit" />';
print '</form>'

这将为您提供一个表格,该表格将为您提供所有场地的下拉列表,一旦选择了场地,您将转到带有相应身份证的venues.php页面。

在您的场地顶部,php页面只需使用

$id = $_GET['id'];

这会将id号分配给变量$ id,然后您可以使用此“select”

$data = mysql_query("SELECT * FROM venues WHERE id = ".$id) ;

使用表格中提供的ID从您的数据库中收集您的场地名称。

祝你好运:)

答案 2 :(得分:1)

<?php 
 mysql_connect("localhost", "", "") or die(mysql_error()); 
 mysql_select_db("") or die(mysql_error()); 

$id = (int) $_GET['id'];
$data = mysql_query("SELECT * FROM venues WHERE id = ".$id) or die(mysql_error());
 Print "<table border cellpadding=3>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<tr>"; 
 Print "<th>Name:</th> <td>".$info['VENUE_NAME'] . "</td> "; 
 Print "<th>Address:</th> <td>".$info['ADDRESS'] . " </td></tr>"; 
 } 
 Print "</table>"; 
 ?>