gpt4 book ai didi

php - 输入( radio )值由 ~2000 字节组成,有没有更好的方法?

转载 作者:行者123 更新时间:2023-11-30 22:24:06 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,用于存储项目 (商品和服务),并且与每个项目一起存储的还有条款 (条款和条件),这可以大约 2000 字节。

http://i.imgur.com/7t3cvSE.png

这是我的基本设置

$term_options = array();
$term_options[] = "None";
$term_options[] = "massive string containing 2000 bytes or more";

...

foreach ($term_options as $term) {
?>

<label class="term">
<input type="radio" name="terms" value="<?php echo $term; ?>">
<?php echo $term; ?>
</label>

<?php
}

上面的代码完全符合我的要求,但是在 radio 输入(可能包含 Unicode 字符)中有一个巨大的值感觉不对。我担心错了吗?

之前,我使用了一个 SELECT 菜单,其选项值等于每个数组项的索引位置:

?>
<select name="terms">
<?php

$i = 0;
for ($i = 0; $i < count($term_options); $i++) {
?>

<option><?php echo $i; ?></option>

<?php
}
?>
</select>
<?php

然后我的 $_POST 看起来像这样:

$terms = $term_options[$_POST['terms']];

在出现我的更新表单之前,它工作得很好,它应该显示当前选择的值。我不确定如何将 isset 值与通过数组生成的值进行比较。

使用静态值很简单,例如:

<option <?php if (isset($row['x']) && $row['x'] === 'x') echo 'selected'; ?>>x</option>

但是在 foreach 循环中创建每个选项时,我不知道该怎么做,下面的代码不起作用:

<option <?php if (isset($row['x']) && $row['x'] === $term_options[$i]) echo 'selected'; ?>><?php echo $i; ?></option>
$i++;

最佳答案

是的,你的担心是对的。如果此页面要显示许多这样的项目,并且每个项目都有一个像这样的巨大字符串,那么最终页面将非常庞大。此页面将由您的服务器发送到客户端浏览器。页面越大,时间越长。

您正在从 MySQL 数据库中检索这些项目。每个项目可能都有一个主键。您为什么不直接将此主键用作单选按钮的名称的一部分,然后您可以再次仅检索所选项目?

有点像

<input type="radio" name="rb_1">

其中附加到“rb_”的“1”是项目的键。然后你只需要打破这个字符串,恢复主键并搜索是否恢复巨大的字符串。

当然,这可能会产生另一个数据库操作。但是,与传输包含 2k 项目的 100 倍的巨大页面相比,这将不算什么。

关于php - 输入( radio )值由 ~2000 字节组成,有没有更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35821395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com