I want to get rows with floats like my $float
.
I used this code:
$float = $_GET['float'];
$requst = mysql_fetch_array(mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%'"));
then I echoed all the rows with while:
while ($r = $request) {
echo $a['float'];
}
but the page doesn't show anything. (YES, I typed in the address bar ?float=34
and there are floats like 34.******
in the table.)
What is the problem?
(PHP version 5.2, MYSQL version 5.0)
Try This
$requst = mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%'");
while ($r = mysql_fetch_array($request)) {
echo $r['float'];
}
How about select * from floats where floor(float) = $floor;
?
Your variable already has a decimal point in it.
"SELECT * FROM floats WHERE float LIKE '$float%'"
If your float is 34.567 your statement executes as find like '34.567.%' which isn't finding any results.
Edit:
how about this then?
"SELECT * FROM floats WHERE abs(float-$float)<1;"
That will bring in anything within 1?
Having said that, although you can keep floats in mysql, it might be safer to keep them as decimals with a limited number of points after the decimal.