У меня есть скрипты, предоставленные другим программистом, которые используют Medoo для функций базы данных. У меня есть скрипт для удаления одного элемента за раз, но теперь мне нужно удалить несколько строк в соответствии со списком, представленным из флажков. Например:
$delete = "123, 124, 125, 126";
global $db;
$sql = db::query("DELETE FROM users, [id IN '$delete']");
К сожалению, документация и примеры, представленные для Medoo, немногочисленны и не охватывают примеры IN. Поэтому я ищу предложения.
Действительно просто. Просто предоставьте массив с идентификаторами.
$database->delete("users", [
"id" => [123, 124, 125, 126]
]);
$delete = "123, 124, 125"; // original string
$delete = explode(',',$delete); // convert to array
foreach($delete as $id) { // walk wthrough array items
$database->delete("users", [ // run medoo query
"AND" => [
"id" => intval($id) // if whitespaces, make an integer
]
]);
}
см. метод удаления medoo http://medoo.in/api/delete
$database->delete("account", array(
"id" => array(123, 124, 125, 126)
));
или же
$delete = "123, 124, 125";
$ids_array= explode(',', $delete);
foreach($ids_array as $id) {
$database->delete("users", array("id" => $id));
}
или же
$ids_array= explode(',', '123, 124, 125');
function delete_by_id($value, $key){
global $database;
$database->delete("users", array("id" => $value));
}
array_walk($ids_array,"delete_by_id");
или же ……
$ids_array= explode(',', '123, 124, 125');
array_walk($ids_array, function($value, $key) use (&$database){
$database->delete("users", array("id" => $value));
});
Вы можете проверить последний выполненный запрос:
echo $database->last_query();