填充下拉列表从不同的MySQL表中获取数据

时间:2012-06-12 09:53:54

标签: php mysql drop-down-menu

我需要你的帮助来解决一个愚蠢的问题。 我的数据库中有2个表(内容和类别)。

我填充了名为“categories”的MySQL表,现在我希望在表单中看到存储在数据库中的旧类别,同时将其修改为新类别。

不幸的是,我写的只显示了从数据库表中获取的类别列表。

<select name="PostedCat">
    <?php 

    $query_category = "SELECT * FROM categ";
    $result_category =  mysql_query($query_categ) or die (mysql_error());


    while($categ = mysql_fetch_assoc($result_category)){        
    ?>
        <option value="<?php echo $categ['cat_title']; ?>" ><?php echo $categ['cat_title']; ?></option>
    <?php
    }                       
    ?>
</select>

使用此代码,我可以看到存储在数据库中的类别,但是如何才能获得“旧”选择的类别?存储的一个?

希望得到一些帮助,但我现在是瞎了。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

假设您的旧类别位于$oldcat,请执行

    

$query_category = "SELECT * FROM categ";
$result_category =  mysql_query($query_categ) or die (mysql_error());


while($categ = mysql_fetch_assoc($result_category)){        
?>
    <option value="<?php echo $categ['cat_title']; if ($categ['cat_title']==$oldcat) echo '" selected="true'; ?>" ><?php echo $categ['cat_title']; ?></option>
<?php
}                       
?>

答案 1 :(得分:0)

所以,再次感谢你的善意。这就是我所做的。

我有一个页面,其中包含我所有内容的列表,并且靠近我的每个内容和“编辑”按钮。当我点击它时,我会转到一个新页面,其中包含一个填充表单,该表单直接从MySQL获取数据并将所有内容放在正确的字段中。 在function.php中我有:

function getPost($id) {
    $id = (int) $id;
    $query = mysql_query("SELECT * FROM contents WHERE id = '$id'") or die (mysql_error());

    return mysql_fetch_array($query);
}

在edit.php中我举了例如:

<?php $editedpost = getPost($_GET['id']); ?>
<form action="editingPost.php" method="post">
<table>
    <tr>
        <td><label for="ContentTitle">Title</label></td>
        <td><input type="text" name="ContentTitle" value="<?php echo $editedpost['content_title']; ?>" /></td>
    </tr>

    <tr>
        <td><label for="ContentCategory">Category</label></td>
        <td>
            <select name="ContentCategory">
                <?php 
                $query_category = "SELECT * FROM categ";
                $result_category =  mysql_query($query_categ) or die (mysql_error());

                while($categ = mysql_fetch_assoc($result_category)){        
                ?>
                    <option value="<?php echo $categ['cat_title']; ?>" >Here I would like to see the data stored in the database, that I choosed before.</option>
                <?php
                }                                   
                ?>
            </select>
        </td>
    </tr>

    <tr>
        <td colspan="2"><input type="submit" name="submit_post_new" /></td>
        <td><input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" /></td>
    </tr>
</table>
</form>