Sie müssen sku_size_part1
umwandeln in einen Schwimmer.
Dies wird Ihre Abfrage verlangsamen, aber es wird funktionieren:
$brand = mysqli_real_escape_string($brand);
$result = $mysqli->query("SELECT DISTINCT sku_size_part1
FROM sku_data
WHERE sku_brandname = '$brand'
ORDER BY CAST(sku_size_part1 AS FLOAT) DESC");
Dies verlangsamt die Abfrage, da MySQL keinen Index zum Sortieren verwenden kann, die Verwendung einer Funktion verhindert dies.
Eine bessere Lösung (wenn möglich) wäre, sku-size_part1
neu zu definieren als Dezimalzahl (10,2).
-- Make a backup first --
ALTER TABLE sku_data CHANGE sku_size_part1 DECIMAL(10,2);
(Stellen Sie sicher, dass der erste Parameter (10) und der zweite Parameter (2) groß genug sind, um alle möglichen Werte aufzunehmen.)
Siehe:http://dev.mysql .com/doc/refman/5.0/en/cast-functions.html