Código PHP:
<?php
for ($i=1;$i<=31;$i++)
{
echo "<option value='$i'>$i</option>";
}
?>
Un poco lo que te dijo darkasecas, que te faltaba cerrar el option y poner el texto además del valor. Además, cambié las comillas simples del echo porque las simples no convierten variables, las dobles sí.
Así debería funcionarte.