@vitus: $tmp ist nicht nur innerhalb von if gültig. Das war in früheren PHP Versionen so, aber mittlerweile sind so ziemlich alle Variablen global, zumindest was if/else/elseif in Schleifen angeht.
@Ritschie: Ist es denn ganz, ganz sicher, dass der Feldname auch `id` ist? Soweit ich weiß, ist...