el problema es que estas dejando fuera del bucle la sentencia de guardado, y debe estar dentro , prueba asi:
Código PHP:
Ver original<?php
if(isset($_POST['guardar'])){
//contamos los elementos que llegan
$cantidad = count($_POST['referencia']);
//iniciamos el bucle basados en la cantidad de registros en llegada
for($i=0; $i<=$cantidad; $i++){
$guarda = $db->query("INSERT INTO entrada (referencia, cantidad_entrada) VALUES ('$_POST[referencia][$i]','$_POST[cantidad_entrada]')");
}
if($guarda)
{
echo'<script>
alert("Entrada Guardada Exitosamente");
window.location.href="../../index1.php";
</script>';
}else{
echo'<script>
alert("Entrada No Guardada");
window.location.href="entradas.php";
</script>';
}
}
?>