No soy usuario de PostgreSQL .. pero si te fijas en la documentación de PHP al respecto:
http://www.php.net/pg_fetch_object
Fijate los ejemplos .. PostrgreSQL necesita de un contador .. Mysql en sus funciones mysql_fetch_xxxx no lo necesita .. es La própia función la que va moviendo el puntero interno del resultado a cada llamada de la función.
Un ejemplo (de php.net):
Código PHP:
$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres needs a row counter other dbs might not
while ($data = pg_fetch_object ($qu, $row)){
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."<BR>";
$row++;
}
en Mysql sería simplemente:
Código PHP:
$qu = mysql_query ($db_conn, "SELECT * FROM verlag ORDER BY autor");
while ($data = mysql_fetch_object ($qu)){
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."<BR>";
}
Por lo demás .. no sé donde sale ese "$form_canti" ni el objetivo de ese cálculo .. pero en Mysql por si necesitas mover el puntero del resultado tienes mysql_data_seek() ..
También te recomendaría "no caer" otra vez más en el mismo problema, no uses funciones directas de "mysql" o para "posgresql" .. usa alguna capa de abastracción de BD como por ejemplo:
ADOdb
http://adodb.sourceforge.net/
o alguna más sencilla (tienes muchas en sitios como
www.phpclasses.org) .. así no tendras que cambiar mucho de tu código a la hora de usar tu aplicación contra otra Base de datos.
Un saludo,