作为我项目的一部分,我有一个列出所有类别的页面。他们每个人都有一个指向单一类别页面的链接,以便对其进行修改。
在类别页面中,我将“类别名称”字段设置为选择字段,列出默认情况下在所选类别上预设的所有类别。 这个例子应该澄清我的问题。
Category A
Category B
Selected Category --->Category C<--------Preset category opening the page
Category D
Category E
我实现了以下代码,预设类别有效。我发现的困难在于其他类别列表。 使用以下方法将类别ID传递到单个类别页面:
<a href="categorie_scheda.php?cat_id='.$rows['0'].'">Link</a>
---类别页面---
<?php
$cat_id = $_GET['cat_id']; //cat ID captured here
include '../sys/conn.php';
$category = mysqli_query ($conn, "(mysqli_query)") or die ("Query non valida: " . mysqli_error($conn));
$array = mysqli_fetch_array($category, MYSQL_NUM);
mysqli_close($conn);
?>
--- ---- HTML
<label>Categorie</label>
<select class="form-control" name='category_list'>
<option selected value=$cat_id><?php echo $array[1]; ?></option>
<?php
while ($listcat=mysqli_fetch_array($category)){
echo '<option value="'.$listcat['0'].'"> '.$listcat['0'].' - '.$listcat['1'].'</option>';
}
?>
</select>
希望有人可以帮忙解决问题。
答案 0 :(得分:0)
尝试在类别页面中使用此功能:
<?php
$cat_id = intval($_GET['cat_id']); //cat ID captured here. converting to int to avoid xss
include '../sys/conn.php';
$category = mysqli_query ($conn, "(mysqli_query)") or die ("Query non valida: " . mysqli_error($conn));
// replace $array = mysqli_fetch_array($category, MYSQL_NUM);
$array = mysqli_fetch_all($category, MYSQL_NUM);
mysqli_close($conn);
?>
您的HTML现在应该是这样的:
<label>Categorie</label>
<select class="form-control" name='category_list'>
<?php
for($i = 0; $i < count($array); $i++) {
$listcat = $array[$i];
echo '<option ' . ($listcat[0] == $cat_id ? 'selected ' : '')
. 'value="'.$listcat['0'].'"> '
. $listcat['0'].' - '.$listcat['1'].'</option>';
}
?>
</select>
如您的评论中所述,您在关闭连接时未先保存结果。要么就像我上面写的那样(如果出现一些小错误修正),或者只是在一切完成后关闭你的连接。