Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修改下拉菜单中选定行的SQL数据?_Php_Sql_Text_Input_Types - Fatal编程技术网

Php 如何修改下拉菜单中选定行的SQL数据?

Php 如何修改下拉菜单中选定行的SQL数据?,php,sql,text,input,types,Php,Sql,Text,Input,Types,我开始学习PHP,我的任务是创建一个表单,用户可以使用该表单选择一个类别(MySQL数据库表中的一行)并更新该行中特定列的内容 这就是它看起来的样子。是MySQL中的表的样子(tva是我想要更新内容的列) 下面是代码的样子: 修改以下各项的TVA: 请试试这个 <tr> <td>Modify the TVA of : </td> <td> <select name="tva_modif" id

我开始学习PHP,我的任务是创建一个表单,用户可以使用该表单选择一个类别(MySQL数据库表中的一行)并更新该行中特定列的内容

这就是它看起来的样子。是MySQL中的表的样子(tva是我想要更新内容的列)

下面是代码的样子:


修改以下各项的TVA:
请试试这个

  <tr>
      <td>Modify the TVA of :  </td>
      <td>
        <select name="tva_modif" id="ss1">
        <?
        $sql_tva_modif = "SELECT id_type, nom_fr,tva
                          FROM type
                          ORDER BY nom_fr
                         ;";
        $sql_tva_modif_result = mysql_query($sql_tva_modif);
        while($val_tva_modif = mysql_fetch_array($sql_tva_modif_result))
        {
            echo "<option value='" . $val_tva_modif["id_categorie"] . "'>" . $val_tva_modif["nom_fr"] . "</option>";
        }
        ?>
      </select>
      <input name="tva_val" id="tva_val" type="text" value=""></div>
      </td>
    </tr>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
   $('#ss1').change(function(){
    var selected_item = $(this).val()

    if(selected_item ){
    $('#tva_val').val(selected_item).addClass('hidden');
       // $('#tva_val').val("").removeClass('hidden');
    }else{
        $('#tva_val').val("").removeClass('hidden');
    }
});
    </script>

修改以下各项的TVA:

您使用的是在select查询中未提及的id\u分类字段

<?php
    $sql_tva_modif = "SELECT id_type, nom_fr,tva
              FROM type
              ORDER BY nom_fr
               ;";
    $sql_tva_modif_result = mysql_query($sql_tva_modif);
?>

<tr>
  <td>Modify the TVA of :  </td>
  <td>
    <select name="tva_modif" id="tva_modif">
    <?php
      while($val_tva_modif = mysql_fetch_array($sql_tva_modif_result))
      {
        echo "<option value='" . $val_tva_modif["id_type"] . "' id='" . $val_tva_modif["tva"] . "' >" . $val_tva_modif["nom_fr"] . "</option>";
      }
    ?>
  </select>
  <input name="tva_val" id="tva_val" type="text" value=""></div>
  </td>
</tr>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
    $('#tva_modif').change(function()
    {
        var id = $(this).children(":selected").attr("id");
        if(id != ""){
            $('#tva_val').val(id);
        }
        else
        {
          $('#tva_val').val('');
        }
    });

    </script>

修改以下各项的TVA:

要更新输入内容,您必须添加一点Javascript(我建议您在
中添加一个ID,例如“vat_select”)


document.getElementById(“vat_select”).onchange=function(){
document.getElementById(“tva_val”).value=this.options[this.selectedIndex].value;
}
小心,我相信您的选择有错误,您也需要选择
“id\u categorie”
,否则您的选项值将为空

要更新表中的数据(无论是哪一个),我建议您查看。 您应该用“mysqli”修改以“mysql”开头的指令(同时在PHP中激活mysqli),因为它们已被弃用


附注:VAT是TVA的英文名称。

我想这就是您需要的:

    <?php 
if(isset($_POST["submit_tva"])){
    $id_type_and_tva_array = explode("_", $_POST["tva_modif"]);
    $sql_query = "UPDATE table_name SET tva='".$_POST["tva_val"]."' WHERE id_type='".$id_type_and_tva_array[0]."'";
    mysql_query($sql_query);
}
?>

<form method="post">
 <table>
<tr>
  <td>Modify the TVA of :  </td>
  <td>
    <select name="tva_modif" id="tva_modif">
    <?
    $sql_tva_modif = "SELECT id_type, nom_fr,tva
                      FROM type
                      ORDER BY nom_fr
                     ;";
    $sql_tva_modif_result = mysql_query($sql_tva_modif);
    while($val_tva_modif = mysql_fetch_array($sql_tva_modif_result))
    {
        echo "<option value='" . $val_tva_modif["id_type"] . "_".$val_tva_modif["tva"]."'>" . $val_tva_modif["nom_fr"] . "</option>";
    }
    $val_tva_modif = mysql_fetch_array($sql_tva_modif_result)
    ?>
  </select>
  <input name="tva_val" id="tva_val" type="text" value="<?php echo $val_tva_modif["tva"]; ?>"></div>
  </td>
  <td><input type="submit" name="submit_tva" type="text" value="Update"></td>
</tr>
</table>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
    $('#tva_modif').change(function()
    {
     var id_type_and_tva = $("tva_modif").val();
     var id_type_and_tva_array = id_type_and_tva.split("_");
     var tva = id_type_and_tva_array[1];
     $("#tva_val").val(tva);
    });

    </script>

表中显示的字段&表中根本没有使用不同ie id\u categorie的名称。是的,对不起,我打错了是的,真的很抱歉,我给错了字段名谢谢,我快到了。只有一个小问题,输入类型文本字段显示“id_type”值而不是“tva”。有没有办法改变这一点?当页面新加载时,第一个值如何?现在你说的是,如果你不先选择另一种类型,它就不会加载。我说的是代码改进,这不是一个参数。希望你能理解。谢谢你的回答!我试过了,但它使输入类型的文本字段消失了。@Lightsplasher:请参考链接,它对我的工作已经没有问题了,我让它工作了。非常感谢你!谢谢你的帮助!是否有方法显示所选选项的相应tva值?我需要它对用户可见。现在我不明白了。我们这里需要javascript吗?数据需要放在数据库ryt中吗?我们可以通过使用ajax或其他直接php调用表单提交ryt来实现这一点?您要求“有人能告诉我如何确保输入类型文本字段显示所选选项的TVA值吗”是的,我们当然需要js或jquery。但当我问你时,我只是想到了更新,而不是选择组合框和文本字段映射,这只是一个困惑的问题。我的问题是澄清到底需要什么,而不是争论。我不是在争论,我只是把你的问题指给你看,别担心,伙计;)
    <?php 
if(isset($_POST["submit_tva"])){
    $id_type_and_tva_array = explode("_", $_POST["tva_modif"]);
    $sql_query = "UPDATE table_name SET tva='".$_POST["tva_val"]."' WHERE id_type='".$id_type_and_tva_array[0]."'";
    mysql_query($sql_query);
}
?>

<form method="post">
 <table>
<tr>
  <td>Modify the TVA of :  </td>
  <td>
    <select name="tva_modif" id="tva_modif">
    <?
    $sql_tva_modif = "SELECT id_type, nom_fr,tva
                      FROM type
                      ORDER BY nom_fr
                     ;";
    $sql_tva_modif_result = mysql_query($sql_tva_modif);
    while($val_tva_modif = mysql_fetch_array($sql_tva_modif_result))
    {
        echo "<option value='" . $val_tva_modif["id_type"] . "_".$val_tva_modif["tva"]."'>" . $val_tva_modif["nom_fr"] . "</option>";
    }
    $val_tva_modif = mysql_fetch_array($sql_tva_modif_result)
    ?>
  </select>
  <input name="tva_val" id="tva_val" type="text" value="<?php echo $val_tva_modif["tva"]; ?>"></div>
  </td>
  <td><input type="submit" name="submit_tva" type="text" value="Update"></td>
</tr>
</table>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
    $('#tva_modif').change(function()
    {
     var id_type_and_tva = $("tva_modif").val();
     var id_type_and_tva_array = id_type_and_tva.split("_");
     var tva = id_type_and_tva_array[1];
     $("#tva_val").val(tva);
    });

    </script>