Eğer doğru anladıysam;

Şehirler tablosundan durumu 0 olanlardan rastgele olarak bir şehir çekeceksiniz. Ardından çekilen şehrin durumunu 1 olarak güncelliyeceksiniz. Döngü bu şekilde devam edicek

Örnek tablo yapısı

sehirler

id
sehir
durum ( varsayılan 0 )

Örnek Kod;

$sehir = $db->query("SELECT * FROM sehirler where durum='0' order by rand() limit 1")->fetchAll(PDO::FETCH_ASSOC)[0];

echo 'Şansına bu şehir çıktı '.$sehir['sehir'].', tebrikler.';

// seçilen şehiri tekrar seçilmemesi için durumu 1 olarak güncelle;

$db->query("update sehirler set durum='1' where id='".$sehir['id']."'");