PHP Show if 隐藏更新字段,但它们会被空字符串覆盖

标签 php mysql

这可能是介于 PHP 和 SQL 之间的内容之一。

基本上,我有一个页面,其中根据登录者显示一些更新字段,例如:

<?php if ($row_Users['UserID']=="101"){ ?>
    <input <?php if (!(strcmp($row_lodges['101_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="101_finalist"  value="Yes"/>
    <input type="text" class="rankfield" name="101_rank" value="<?php echo($row_lodges['101_rank']); ?>" />
<?php }  ?>
<?php if ($row_Users['UserID']=="102"){ ?>
    <input <?php if (!(strcmp($row_lodges['102_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="102_finalist"  value="Yes"/>
    <input type="text" class="rankfield" name="102_rank" value="<?php echo($row_lodges['102_rank']); ?>" />
<?php }  ?>

我遇到的问题是,如果 User101 登录并更新字段 101_finalist 和 101_rank,它会用空字符串覆盖 102_finalist 和 102_rank。

是否可以防止每个用户看到其他用户的其他字段,并防止其他用户的现有值不被覆盖?

希望这是有道理的!

谢谢。

最佳答案

你会想做这样的事情。这基本上就是 @taco 所说的:

<?php
// Set's the default user logged in
$_def   =   ($row_Users['UserID'] == "101")? '101': '102'; ?>
<input <?php if (!(strcmp($row_lodges[$_def.'_finalist'],"Yes"))) { ?>checked="checked"<?php } ?> type="checkbox" name="<?php echo $_def; ?>_finalist"  value="Yes"/>
<input type="text" class="rankfield" name="<?php echo $_def; ?>_rank" value="<?php echo ($_def == '101')? $row_lodges['101_rank']:$row_lodges['JA_rank']; ?>" />

关于PHP Show if 隐藏更新字段,但它们会被空字符串覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25717064/

相关文章:

php - jquery、 session 和 php session_id();

mysql - 使用注释 django

使用 MySQL 的 PHP 很慢

mysql - 从mysql的表中获取数据,该数据必须在另一个表中有对应的记录

php - 根据表中的产品获取计数值

php - mysql_escape_string 整个帖子数组?

php 十进制转十六进制

php - 如何从另一个表进行内连接并按特定行值排序?

php - 查询以获取带或不带组连接的多行

php - 将 mysql 数据库中的多行存储到一个变量中