很抱歉,我知道新手问题,但是我目前只有在通过PHP等使用echo命令时才显示mySQL结果。
现在,我能够很好地获取信息,但是我希望查询的结果以一种形式出现,例如。
而不是: -
$loggedinuser = $session->username;
//$query = "SELECT surname, firstname FROM PASSENGER WHERE username = '$jared'";
$query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
$result = mysql_query($query2);
while($row = mysql_fetch_array($result))
{
echo $row['surname'] ." ". $row['destination'];
}
echo mysql_error();
我想以HTML格式打印SQL结果......例如。符合惯例的那个: -
Surname: <input type="text" name="firstname" value="echo $row['surname']/>
如果你知道我来自哪里。使用表单显示mySQL结果这是非常糟糕的做法,还是可以完成?如果不是真的,您会以什么方式推荐我打印数据?在某种表中,但我怎么能使用字段?
此致
汤姆。
像这样的工作: -
<?php
$loggedinuser = $session->username;
//$query = "SELECT surname, firstname FROM PASSENGER WHERE username = '$jared'";
$query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
$result = mysql_query($query2);
while($row = mysql_fetch_array($result))
{
"<form>"
<input type="text" name="firstname" value="<?php echo {$row['surname']} ?>" disabled />
"</form>"
}
echo mysql_error();
?>
如何在以下代码中的echo之间添加新行?
echo ' Surname: <input type="text" name="surname" value="'.$row['surname']. "\" disabled /> ";
echo 'Forename: <input type="text" name="surname" value="'.$row['forename']. "\" disabled />";
echo 'Email Address: <input type="text" name="surname" value="'.$row['emailAddress']. "\" disabled />";
echo 'Preference ID: <input type="text" name="surname" value="'.$row['dob']. "\" disabled />";
echo 'Seat Number: <input type="text" name="surname" value="'.$row['seatNo']. "\" disabled />";
echo 'Group ID: <input type="text" name="surname" value="'.$row['groupID']. "\" disabled />";
答案 0 :(得分:5)
<input value="<?php echo $row["firstname"]; ?>">
答案 1 :(得分:1)
<input type="text" name="firstname" value="<?php print($row['surname']); ?>"/>
或
<input type="text" name="firstname" value="<?=$row['surname']?>"/>
答案 2 :(得分:1)
使用任何内容显示信息都很好,直到您不允许用户更改这些值。您还可以使用表格/ div或您能想到的任何其他内容进行显示。表格也是一种非常好的方法(imo)。此外,您可以使用disabled
属性,以免任何人更改您在表单输入框中放置的值。
<input type="text" name="firstname" value="<?php echo {$row['surname']} ?>" disabled />
编辑在这里放置while循环:
while($row = mysql_fetch_array($result)) {
echo "Surname: <input type=\"text\" name=\"firstname\" value=\"" . {$row['surname']} . "\" disabled />"
}
答案 3 :(得分:1)
如果您只需要以只读方式显示数据,则实际上并不想“显示查询”,您希望以可读的方式打印所述查询的结果。我确信在某些情况下您需要向用户打印SQL,但这些情况可能相当渺茫。正如其他人所说,允许用户提交任何类型的SQL并使用它也是极其糟糕的做法 - 口头禅是任何用户输入都应该被视为恶意用户输入 - 你必须在发送之前验证并清理所有内容到您的数据库。
这就是说,看起来您只想显示一个包含查询结果的表单,您非常接近。您可能遇到的唯一问题是,如果您的查询返回2行或更多行,为了让PHP自动将提交的值绑定到数组,您必须按顺序命名它们,以便它们显示为:firstname[0]
,firstname[1]
等等。只需启动一个可以每次递增的int:
$loggedinuser = $session->username;
$query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
$result = mysql_query($query2);
$i = 0;
while($row = mysql_fetch_array($result)) {
$surname = $row['surname'];
$destination = $row['destination'];
echo '<input type="text" name="firstname[$i]" value="$surname" />';
echo '<input type="text" name="destination[$i]" value="$destination" />';
$i++;
}
假设您的查询中显示了两行,这是结果(添加了格式):
<input type="text" name="firstname[0]" value="Bill" />
<input type="text" name="destination[0]" value="Rococo" />
<input type="text" name="firstname[1]" value="Mandy" />
<input type="text" name="destination[1]" value="Philadelphia" />
编辑:要为输出的HTML添加换行符,只需为每个换行添加<br />
标记:
echo '<input type="text" name="firstname[$i]" value="$surname" /><br />';
答案 4 :(得分:0)
$query2 = "SELECT p.surname, f.destination FROM PASSENGER p, FLIGHT_INFO f WHERE p.username = '$loggedinuser' AND p.flightNo = f.flightNo";
$result = mysql_query($query2);
while($row = mysql_fetch_array($result))
{
echo '<form>';
echo ' Surname: <input type="text" name="surname" value="'.$row['surname'].'/><br/>';
echo ' Below is my Destination<br/>';
echo ' Destination: <input type="text" name="surname" value="'.$row['destination '].'/>';
echo '</form>';
}
试试这个