首页 > 解决方案 > 在 php mysql 上更新 FK

问题描述

所以,我有一个表单,我想更新一些记录,所有字段都正常工作,但 FK(即id_colaborador
我还想输入用户名(nome)而不是id 我有以下UPDATE代码,但它只是忽略了 FK 字段我不知道为什么......

$sql = "UPDATE ativos  SET ativo = ?, comentario = ?, data_aquisicao = ?, localizacao = ?, fabricante = ?, modelo = ?, imei = ?, 
        numero_serie = ?, ativo_sap = ?, anexo_a = ?, evento = ?, data_evento = ?, id_colaborador = ? WHERE id_ativo = ?";

对于我的输入,id_colaborador我有这个:

<div class="control-group <?php echo !empty($id_colaboradorError)?'error':'';?>">
                    <label class="control-label"><strong>Colaborador<span style="color: red">*</span></strong></label>
                    <div class="controls">
                        <input  type="text"  placeholder="Colaborador"  value="<?php echo !empty($id_colaborador)?$id_colaborador:'';?>">       
                        <?php if (!empty($id_colaboradorError)): ?>
                            <span class="help-inline"><?php echo $id_colaboradorError;?></span>
                        <?php endif;?>
                    </div>
                  </div>

标签: phpmysql

解决方案


您的表单字段缺少名称属性。如果您的代码的其余部分期望名称为id_colaborador,您可以像这样添加它:

<input name="id_colaborador" type="text"  placeholder="Colaborador"  value="<?php echo !empty($id_colaborador)?$id_colaborador:'';?>">

对于问题的第二部分,答案取决于您拥有多少用户。

如果您只有几个,您可以将它们全部列出在一个SELECT框中,其中选项的值是数字 id。

如果您有很多用户,您可以使用自动完成文本字段作为名称,并使用隐藏文本输入作为 ID。当通过自动完成选择 a 时,您将使用 ID 填充隐藏的输入。


推荐阅读