PHP - 在插入sql之前更改变量的值 - 没有Ajax

时间:2015-04-27 11:16:29

标签: php

我有变量

$sql1 .= "Brukertype";

从已填充的文本框中获取信息集。它可以具有值Administrator或值Iskjører

在将这些值插入SQL之前更改这些值的最佳方法是什么? Administrator值应更改为值1Iskjører更改为值2

我无法在问题上使用选择功能(下拉列表),因为需要在我的命令中启用/禁用它。

2 个答案:

答案 0 :(得分:0)

这是使用switch语句的合理位置。你想要一个' marshaling'功能,像这样:

function marshal_input($input) {
    $result = 0;
    switch ($input){
      case 'Administrator':
          $result = 1;
          break;
      case 'Iskjører':
          $result = 2;
          break;
      case 'SomethingYouHaventThoughtOfYet':
          $result = 3;
          break;
      default:
          $result = 0;
          break;
   }
}

然而,编组功能的实现几乎可以是任何东西:

function marshal_input($input) {
    $options = array("Administrator" => 1, "Iskjører" =>2);
    return $options[$input];
}

关键是你需要一些映射的代码,从人类可读的形式到db需要的数字表示。然后你就这样称呼它:

$sql_version = marshal_input($sql1);//Doesn't overwrite the variable
//...or...
$sql1 = marshal_input($sql1);//Note this overwrites the variable. 

答案 1 :(得分:-1)

既然你说过:

  

它可以具有值“Administrator”或值“Iskjører”......

我们只检查该值是否为“管理员”。

试试这个:

$val = 'Administrator'; // user input variable
$sql_val = ($val == 'Administrator') ? 1 : 2;

如果值为'管理员',则将$sql_val设置为1,否则将$sql_val设为2