Bonsoir,
En expression régulière le _ signifie "n'importe quel caractère'. Ce qui explique les 121, 71 etc.
Il faut utiliser un \ devant, pour spécifier qu'il doit être considérer comme le caractère.
Il faudrait, plus, faire quelque chose comme ça:
if (preg_match('/^'.$id_mod.'\_(.*)$/'...