mm las comillas simples ' ... ' le indican en SQL de Msyql que lo q va ahí es una cadena ..
El caso que si en ip al nombrar ese campo no usas comillas ..No las uses en $seleccion como nombre de la tabla
$resultado = mysql_db_query("Foro","INSERT INTO ballot (ip,$selection) values ('$u_ip',1)");
PHP "parsea" esa cadena produciendo:
(ejemplos: $seleccion="tabla" .. $u_ip="valor"):
INSERT INTO ballot (ip,tabla) values ('valor',1)
Siendo 'valor' una cadena la cual requiere comillas para q Msyql al ejecutar el SQL lo identifique como tal ..
En realidad deberiamos usr `tabla` .. o `tabla´ cuando nos referimos a tablas en una sentencia SQL .. (así produce la sintax muchos GUI's de Msyql .. y por ago será xD)
Un saludo ...