Как правильно оформить условие?
Во-первых, если вам нужно, чтобы проверки были независимыми, сделайте их независимыми. Сейчас ваш код читается как "если 1 то, иначе если 2 то, иначе если 3 то". Иными словами, уберите из логики "иначе".
Во-вторых, это хрень полная: $data['dopvopsuvsid'] == 3 || 4 || 5. Это условие всегда будет срабатывать, потому что 4 и 5 всегда будут приводиться к true. Либо пишите полное сравнение каждый раз, либо используйте in_array.
А чем у вас elseif вообще отличаются? Тем, что во втором нет 2?