Con javascript? ..
En PHP tienes várias opciones para validar .. Pero, lo normal (y más sencillo de implementar tal vez) es:
1) deja que te ingresen la cantidad que gusten de productos ..
2) envia tu "formulario" (carrito) al finalizar la compra.
3) valida en PHP tu stock disponible.
No puedes validar según ingresan datos .. por qué para ese momento y hasta que no finalice su compra realmente .. todavía no ha "comprado". Es el último paso el que decide fielmente si compra o no.
Tu puedes dar una "sugerencia" que en ese instante estaría comprando más productos de los que hay en stock .. pero de ahí a que tu usuario finalice la compra .. podría ser que algun usuario se arrepienta de la compra o se terminen otras ...
Te vendría bien tambien conocer sobre "transacciones" para evitar problemas de que vários accesos simultáneos a tu BD suceda el caso que uno compre algo que ya no existe en stock (en sitios como
www.mysql-hispano.com puedes ver tutoriales al respecto).
Un saludo,