Tengo una solución muy precaria que vi una vez en un CMS de portales que utilicé.
Lo que allí hacían era crear una tabla con tres columnas. La primera y la última era para poner un efecto redondeado a la barra, y la del medio aumentaba su ancho según el valor que obtenía de la BBDD. Además a esa columna le ponían de fondo una imágen para que quedara bien la barra completa.
Supongo que con un poco más de imaginación se puede hacer algo más práctico.
Seguro que con capas y CSS se pueden obtener mejores resultados.
Y probablemente también puedas crear algo usando la librería GD, que probablemente te de mejores resultados pero sería un tanto más complicado.
Si querés ver el ejemplo que te daba con tablas podés verlo en esta web:
www.futbolokura.com en los resultados de las encuestas.
Saludos