У меня проблемы. im update name, где B имеет наибольшее значение.
поэтому результаты
B | name ---|------ 1 | 2 | 3 | YES
но когда значение столбца B меняет значение, проблема в имени столбца со значением строки 3 все еще имеет значение.
B | name ---|------ 1 | 4 | YES 3 | YES
результаты должны быть.
B | name ---|------ 1 | 4 | YES 3 |
если
B | name ---|------ 0 | 0 | 0 |
тогда
B | name ---|------ 0 | 0 | 0 |
если,
B | name ---|------ 4 | 4 | 2 |
тогда
B | name ---|------ 4 | YES 4 | YES 2 |
это то, чего я хочу.
im только используя этот простой код.
$sql3 = "UPDATE products SET name='YES' ORDER BY B DESC";
Я думаю, вы хотите обновить строку в таблице, где столбец B является самым высоким значением? Вам определенно нужно предложение WHERE, но вам также нужно знать самое высокое значение в этом столбце. Почему вы не запрашиваете базу данных сначала для получения наивысшего значения из столбца B?
$maxvalue = "SELECT `B` FROM products ORDER BY `B` DESC LIMIT 1"
а затем вставить в базу данных, где столбец B равен этому значению?
"UPDATE products SET name='YES' WHERE B = $maxvalue"
Это не полный код, просто концептуальный. Я очищу его и отредактирую этот ответ …
Вы должны запустить UPDATE products set name = '';
каждый раз, а затем:
UPDATE products set name = 'YES' WHERE B > 0 ORDER BY B DESC