我希望能够检索查询的最后两个字符串。从某种意义上说,我有一个名为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'];
}
这个问题的解决取决于两件事:
-
如果您期望的数据库值总是在格式:x.xx,其中x是一个整数。
-
如果你不确定结果的精确程度从数据库中出来。
如果是这样的话,这个简单的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];
}