检索查询的最后两个字符串


retrieve last two string of a query

我希望能够检索查询的最后两个字符串。从某种意义上说,我有一个名为course_tax的项目,它被检索为1.05、1.10或1.11等。我只想检索05、10或11。

这基本上就是我现在检索它的方式:

$course_id = $_GET['crs_id'];
$get_crs = "select * from courses where course_id='$course_id'";
$run_crs = mysqli_query($con, $get_crs);
while($row_crs=mysqli_fetch_array($run_crs)){
    $course_tax = $row_crs['course_tax'];
}

这个问题的解决取决于两件事:

  1. 如果您期望的数据库值总是在格式:x.xx,其中x是一个整数。

  2. 如果你不确定结果的精确程度从数据库中出来。

如果是这样的话,这个简单的sql查询应该可以解决这个问题:

"SELECT *, right(course_tax, 2) as 'course_tax' FROM courses where course_id = '$course_id'";

否则,如果是两种情况,则必须使用php中可用的函数之一。最建议使用的是explode($delimiter, $haystack)函数。所以这肯定会起作用:

$exploded = explode(".", $row_crs['course_tax']); $course_tax = $exploded[1];

您只需要得到数字的小数部分。尝试像这样使用explode

while($row_crs=mysqli_fetch_array($run_crs)){
    $dig = explode(".", $row_crs['course_tax']);
    $course_tax = $dig[1];
}