hola SirZoX,
hay varias cosas que no estás haciendo adecuadamente.
1.
lo primero que debes recordar es que javascript se ejecuta en el cliente y php en el servidor, por lo que javascript nunca puede ejecutar código php (a menos que uses ajax, pero eso se hace de manera distinta).
2.
por otra parte, la función addLine() aunque tiene sentido argumental, tiene errores de sintaxis que debes arreglar.
Código:
myNewRow = document.getElementById("tablaFormulario").insertRow(index);
myNewRow.rowIndex=indiceFilaFormulario; //ya lo tenías con index
myNewCell=myNewRow.insertCell(index);
myNewCell.innerHTML="<input type='text' name='cantidad["+indiceFilaFormulario+"]' >";
refiriéndose
index como el número consecutivo o siguiente. para el caso de inserción de fila o <tr>, puedes obtener la próxima fila con:
Código:
document.getElementById("tablaFormulario").rows.length
aunque para el caso de las columnas o <td> es básico porque lo colocas tú.
3.
tercero, no coloques la etiqueta <td> en el innerHTML de la columna, porque estarás haciendo un doble <td>, debe quedar así:
Código:
myNewCell.innerHTML="<input type='text' name='precio["+indiceFilaFormulario+"]'>";
4.
finalmente, la función de llenado del <select> debe devolver un string:
Código PHP:
function mostrarProductos ()
{
while ($res = mysql_fetch_array($c))
{
$select.= "<option value ='".$res['producto']."'>".=$res['producto'] ."</option>";
}
return $select;
}
toma la direccion de esta pagina que me sirvió mucho al comienzo:
http://www.w3schools.com/htmldom/dom_obj_tablerow.asp
y saludos!