0

私はこのようなデータを持っており、それをテーブルノーマルと呼んでいます:

    z       0         0.01       0.02  
   ---    ------     -------    ------

   -3.4   0.0003     0.0003     0.0003

   -3.3   0.0005     0.0005     0.0005

   -3.2   0.0007     `0.0007`     0.0006

   -3.1   0.001      0.0009     0.0009

   -3     0.0013     0.0013     0.0013

そして、私はz =の値を持っています-3.21

-3.2行 =および列 = の z の値を意味します0.01

だから、私は値を取得します=0.0007

コードで PDO を使用して、データベースから任意の値を取得します。

public function SelectTableZ($col, $z){
        try{
            $query = "SELECT :col as value FROM table_normal WHERE z=:z";

            $this->Statement = $this->Connection->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

            $this->Statement->bindParam(":col",$col,PDO::PARAM_STR);

            $this->Statement->bindParam(":z",$z,PDO::PARAM_STR);

            $this->Statement->execute();

            $this->Statement->setFetchMode(PDO::FETCH_OBJ);

            $result = $this->Statement->fetchAll();

            $this->Statement->closeCursor();

            if($result){
                return $result;
            } /*else throw new Exception("Comment not selected!");*/ else return false;
        }catch(Exception $e){
            echo "Caught Exception: ".$e->getMessage();
            return null;
        }
    }

これは、データベースから取得したい値です:

$value = -3.21;

$Z = number_format($value * 10, 0, '', '') / 10;

$col = substr(floor($value * 100), -1);
if ($col > 0) { 
    $col /= 100; 
}

$SelectTableZ = $session->SelectTableZ($col, $z);
if(!empty($SelectTableZ)){
  foreach($SelectTableZ as $data){
    echo $data->value;
  }
}

この問題の解決策はありますか?

ありがとう。

4

0 に答える 0