SELECT语句的结果作为输入值PHP

时间:2015-10-27 16:40:31

标签: php sql forms

我有一个回复行结果的查询...

<?php
$sql = "SELECT dba_name, contact_owner, phone, confirmation_code, physical_address, physical_city, physical_state, physical_zip, urep FROM mpas";
$result = $conn->query($sql);
?>

稍后,我回应一些结果供用户查看......

<?php
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>";
.....
?>

此外,在代码中,我想使用与隐藏字段的值相同的结果。我尝试了一些没有成功的事情。值为空/空。这是我最近的尝试。

<?php echo "<input hidden name='confc' value='".$row['confirmation_code']."'>" ; ?>

我确信我做的很简单,但希望有人可以帮助我。我已经尝试在网上寻找答案,但我很难想出一个适用于这个特定问题的答案。

6 个答案:

答案 0 :(得分:0)

我很确定你在此期间已经做了另一个查询(即使你没有,你也没有循环任何东西)。尝试这样的事情:

<?php
$codes = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $codes[] = $row['confirmation_code'];
        echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>";
.....
foreach ($codes as $c) {
    echo "<input type='hidden' name='confc' value='".$c."'>" ;
}
?>

请注意,如果您返回多行,则只会获得一个confc值(最后一个)。如果这就是你想要的,那么我想(虽然你可以只使用字符串而不是数组)。如果没有,您必须在隐藏名称上添加一个识别号码:

foreach ($codes as $k=>$c) {
    echo "<input type='hidden' name='confc".$k."' value='".$c."'>" ;
}

答案 1 :(得分:0)

如果您要多次使用它,为什么不将值设置为php变量? 可能无法修复问题,但可能会解决一些可能出现的问题)

if ($result->num_rows > 0) {
     $row = $result->fetch_assoc()) {
     $confc = $row[`confirmation_code`];

然后将其作为值:

<input type="hidden" name="confc" value="<?php echo $confc; ?>">

或者,如果您要继续回显就像这样

<?php echo "<input type= 'hidden' name='confc' value='".$confc."'>";?>

答案 2 :(得分:0)

您可以声明另一个数组,该数组存储SELECT数据库表的主键引用的所有行。如果您的所有选择列都不是主键,则必须将其添加到select语句中,例如id column

$sql = "SELECT id, dba_name, contact_owner, phone, confirmation_code, physical_address, physical_city, physical_state, physical_zip, urep FROM mpas";

if ($result->num_rows > 0) {
    $all_rows = array();
    while($row = $result->fetch_assoc()) {
        $all_rows[$row["primary_key_of_your_table"]] = $row;
        echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>";
    }
}

所以,稍后您可以使用$ all_rows打印一些这样的HTML:

if (isset($all_rows[1])) { //Access the row with primary key 1 (as an example)
    echo "<input type=\"hidden\" name='confc' value='".$all_rows[1]['confirmation_code']."'>" ; 
}

答案 3 :(得分:-1)

我认为你没有正确地宣布隐藏:

<input type="hidden" ...

答案 4 :(得分:-1)

为什么不把它存放在变量中?

while($row = $result->fetch_assoc()) {
        $confirmation_code = $row["confirmation_code"];

echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>";
.....

<?php echo "<input hidden name='confc' value='"$confirmation_code"'>" ; ?>

答案 5 :(得分:-2)

没有必要回应你需要的东西。

<input type="hidden" name="confc" value="<?php echo $row['confirmation_code']; ?>" />